Forum » Izdelava spletišč » anketa z vec moznostmi
anketa z vec moznostmi
aks_! ::
Zanima me (v teoriji) kako narest anketo, ki lahko ima bodisi 3 mozne odgovore, bodisi 5, bodisi 1000 itd.
thx
thx
OwcA ::
<select name="domace_zivali"> <option value="1">krava</option> <option value="2">kokos</option> <option value="42">ovca</option> </select>
Otroška radovednost - gonilo napredka.
aks_! ::
To ze:)
Mene predvsem zanima, kako te podatke spraviti v bazo. Predvsem me zanime, kako narest tabelo za anketo oziroma ali mora vsaka anketa imeti svojo tabelo.
Mene predvsem zanima, kako te podatke spraviti v bazo. Predvsem me zanime, kako narest tabelo za anketo oziroma ali mora vsaka anketa imeti svojo tabelo.
Seadoo ::
V eni tabeli mas ID in tekst ankete:
CREATE TABLE anketa (
id int(11) NOT NULL auto_increment,
text varchar(1000) NOT NULL default '',
PRIMARY KEY (id)
)
v drugi pa ID vprasanja, številko vprašanja znotraj ankete, ID ankete in tekst vprašanja:
CREATE TABLE vprasanja (
id int(11) NOT NULL auto_increment,
zap_st int(11) NOT NULL default '0'
anketa_id int(11) NOT NULL default '0',
text varchar(100) NOT NULL default '',
PRIMARY KEY (id)
);
Pol pa je še vprašanje, kako hranit odgovore na vprašanja. Lahko dodaš še en stolpec v tabelo z vprašanji, recimo:
st int(11) NOT NULL default '0'
kjer hraniš število odgovorov.
Jaz mam tako narejeno, pol mam pa še eno tabelo
CREATE TABLE ip (
ip varchar(15) NOT NULL default ''
);
kjer hranim kateri IP je že glasoval, tako da ne more še enkrat. Saj vem, da se lahko odklopi in priklopi z drugim IPjem, ampak če se hoče zajebavat, naj se. Lahko tudi z cookiem preverjaš, ampak te lahko tudi izklopi, tako da je pol še slabše. No ampak to presega vprašanje, ki si ga postavil.
CREATE TABLE anketa (
id int(11) NOT NULL auto_increment,
text varchar(1000) NOT NULL default '',
PRIMARY KEY (id)
)
v drugi pa ID vprasanja, številko vprašanja znotraj ankete, ID ankete in tekst vprašanja:
CREATE TABLE vprasanja (
id int(11) NOT NULL auto_increment,
zap_st int(11) NOT NULL default '0'
anketa_id int(11) NOT NULL default '0',
text varchar(100) NOT NULL default '',
PRIMARY KEY (id)
);
Pol pa je še vprašanje, kako hranit odgovore na vprašanja. Lahko dodaš še en stolpec v tabelo z vprašanji, recimo:
st int(11) NOT NULL default '0'
kjer hraniš število odgovorov.
Jaz mam tako narejeno, pol mam pa še eno tabelo
CREATE TABLE ip (
ip varchar(15) NOT NULL default ''
);
kjer hranim kateri IP je že glasoval, tako da ne more še enkrat. Saj vem, da se lahko odklopi in priklopi z drugim IPjem, ampak če se hoče zajebavat, naj se. Lahko tudi z cookiem preverjaš, ampak te lahko tudi izklopi, tako da je pol še slabše. No ampak to presega vprašanje, ki si ga postavil.
aks_! ::
thx za info.
sej sem že začel delati na anketi in v bistvu sem naredil 3 tabele, in sicer sta v prvi tabeli id ankete in vprašanje, v drugi so id odgovora, odgovori, št. glasov, id ankete (zato, da lahko ugotovim, kateri odgovor pripada kateri anketi) in še datum nastanka ankete in datum, ko se anketa izteče (kateri ni nujno, da je vključen). Potem pa je tu še 3. tabela v kateri pa so nastavitve (barve, pisava, jezik, itd).
Seadoo: dobro, da si omenil še tabelo za zapis ip-ja, sam niti pomislil nisem nanjo. tko da sem se odločil uporabiti kombinacijo zapisa ip-ja s cookiji.
sej sem že začel delati na anketi in v bistvu sem naredil 3 tabele, in sicer sta v prvi tabeli id ankete in vprašanje, v drugi so id odgovora, odgovori, št. glasov, id ankete (zato, da lahko ugotovim, kateri odgovor pripada kateri anketi) in še datum nastanka ankete in datum, ko se anketa izteče (kateri ni nujno, da je vključen). Potem pa je tu še 3. tabela v kateri pa so nastavitve (barve, pisava, jezik, itd).
Seadoo: dobro, da si omenil še tabelo za zapis ip-ja, sam niti pomislil nisem nanjo. tko da sem se odločil uporabiti kombinacijo zapisa ip-ja s cookiji.
Seadoo ::
Hmm... zakaj imaš datum nastanka ankete in datum, ko se anketa izteče shranjeno v tabeli z odgovori? To jasno spada v prvo tabelo, ker je v prvi tabeli shranjena anketa.
aks_! ::
Zgleda, da sem se zgoraj zatipkal. Oba datuma imam v tabeli, v kateri so podatki o anketi.
btw: kako pa dobiš ip anketiranca?
btw: kako pa dobiš ip anketiranca?
Zgodovina sprememb…
- spremenil: aks_! ()
aks_! ::
Sam še eno dilemo imam.
Predpostavimo, da shranim ip vsakega, ki odgovori na anketo. No, pa predpostavimo še, da obišče mojo stran Janez in ob 16.55 odda glas na anketi in se nato odklopi. Čez pol ure pa zamika še Jureta, pride na mojo stran in želi odgovoriti na anketo, ampak mu skripta tega ne dovoli, saj ima Jure na nesrečo dodeljen ravno prejšnji Janezov ip.
Je to možno?
Predpostavimo, da shranim ip vsakega, ki odgovori na anketo. No, pa predpostavimo še, da obišče mojo stran Janez in ob 16.55 odda glas na anketi in se nato odklopi. Čez pol ure pa zamika še Jureta, pride na mojo stran in želi odgovoriti na anketo, ampak mu skripta tega ne dovoli, saj ima Jure na nesrečo dodeljen ravno prejšnji Janezov ip.
Je to možno?
Trubadur ::
kompliciraš
sej lahk tut s cookiji delaš pa bo jure zihr meu šanso glasovat
sej lahk tut s cookiji delaš pa bo jure zihr meu šanso glasovat
Berite Thomasa!
Seadoo ::
Ja ta drugi žal ne bo mogu glasovat. Naj se odlklopi pa pride gor z drugim IP-jem
Cookiji so problem, ker ti lahko nekdo, ki jih ne sprejema (recimo jaz), zafila anketo s tisoč in tisoč odgovori.
Cookiji so problem, ker ti lahko nekdo, ki jih ne sprejema (recimo jaz), zafila anketo s tisoč in tisoč odgovori.
Packač ::
Jst sm mev narjen da sm beležu IP od vsasga uporabnika pa še cookie sm mu nastavu. Glede ankete z več odgovori preprosto narediš while zanko z ustreznimi vpisi v bazi in potem lahko enostavno anketo štimaš preko obrazcev.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | mysql vnosOddelek: Izdelava spletišč | 1548 (1513) | asgard2.0 |
» | portal ostal, baza slaOddelek: Izdelava spletišč | 1828 (1713) | bombacina |
» | SQL problemOddelek: Programiranje | 1520 (1357) | Bossek |
» | mySQL(+php) auto_increment field v tabeli.. Kako...?Oddelek: Izdelava spletišč | 1104 (1036) | Zzzzzzz |
» | MySQL združevanje tabel..Oddelek: Programiranje | 1711 (1526) | Nemenej |