Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Anketa u php-u sa MySQL

[es] :: PHP :: Anketa u php-u sa MySQL

Strane: 1 2

[ Pregleda: 8144 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kerim O

Član broj: 206460
Poruke: 59
178.77.26.*



Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 22:48 - pre 151 meseci
Pozdrav. Imam jedno pitanje koje ne mogu da riješim.
Napravio sam anketu koja radi sasvim ok. Sada pokušavam da napravim stranicu na kojoj će mi se ispisati rezultati zadnje ankete.

Struktura tabela su slijedeće.

Tabela anketa

id,pitanje,opcija1,opcija2,opcija3,opcija4,opcija5

Tabela glasovi

id,p_id,odgovor,glas

Ovo u principu funkcioniše uredu. U prvu tabelu smještam podatke za ankete dok u drugoj čuvam podatke koliko je ljudi glasalo i za koju opciju.
Medjutim malo mi je problem oko rezultata.


Code:


mysql_connect($host,$user,$lozinka) or die ("Nemoguce izabrati");
mysql_select_db($baza) or die ("Nemoguce izabrati bazu");

$zadnji=mysql_query("SELECT id FROM anketa ORDER BY id DESC LIMIT 0,1");

while($vidi=mysql_fetch_assoc($zadnji))
{
    $id=$vidi['id'];

}


$upit=mysql_query("SELECT * FROM glasovi WHERE p_id='$id'");
while($red=mysql_fetch_assoc($upit)){
 
 echo $red['odgovor'];
  echo $red['glas'];
  echo '</br>';
 

    
    
    

}



Medjutim,nikako mi se ne svidja rješenje. Jer npr ako za neku opciju nije nikako glasano ne prikazuje mi je u rezultatima..
Može li mi neko pomoći oko boljeg rješenja?
Hvala i pozdrav

 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 22:54 - pre 151 meseci
Cekaj, jel tebi treba da ispise bas svaki glas ili pravi rezultat ankete, tj. neki procenat ili tako?
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Kerim O

Član broj: 206460
Poruke: 59
178.77.26.*



Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:10 - pre 151 meseci
Treba da mi se ispišu rezultati zadnje ankete.Nešto kao procenat medjutim to sam uradio umjesto procenata,stavio sam samo broj glasova. U biti to mi je svejedno,samo mi je problem jer u slučaju da se u nekoj anketi ne glasa za odredjenu opciju,neću je imati u bazi i onda mi ta opcija u rezultatima neće biti izlistana uopšte. A volio bih da stavim i tu opciju da ima 0 glasova a ne da je ne prikazuje nikako..
Može i na procenat,svejedno..
hvala :)
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:14 - pre 151 meseci
Aha, aha, kapiram... mislio sam da ti se u tu tabelu upisuje svaki glas zasebno, a u sustini se samo povecava broj glasova tj. edituje vrednost... :) odgovor je u sustini opcija iz prve tabele, jel da?

Ono sto bi mogao da odradis je da ti se pri kreiranju neke ankete, kreiraju i unosi u tabeli "glasovi", i da se popune pocetne vrednosti "glas" sa nulom.
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Kerim O

Član broj: 206460
Poruke: 59
178.77.26.*



Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:17 - pre 151 meseci
Da,upravo...

Nekako mi je ta ideja pala na pamet ali mi se učinila malo "zastarjelo",odnosno nekako ne praktična :D
Uglavnom,odradiću tako,ukoliko neko ne napiše neki konstruktivniji i ljepši prijedlog :)

Hvala svakako.
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:20 - pre 151 meseci
Pa i nije neprakticna, bar sa tom organizacijom koja je sad :)

Ono sto ja mislim da bi bilo bolje je da imas samo jednu tabelu, koja bi bila malo poveca, ali koja bi sadrzala i informacije o nazivu opcija i kolicini glasova. Tako bi resio problem svega toga i sve bi bilo prakticnije :)
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Kerim O

Član broj: 206460
Poruke: 59
178.77.26.*



Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:38 - pre 151 meseci
U par narednih dana ću se igrati sa novom opcijom kako bi mi to malo ljepše izgledalo :D

Pa ću postaviti kod ovdje,pa onda možeš baciti komentar i to...Ovo su sve neke ideje u glavi i vjerovatno na pogrešan naćin napisane ali sam gledao da sam logički odradim dio posla pa to sve izgleda na vrat na nos :D
 
Odgovor na temu

Zlatni_bg
Nikola S
Beograd

Član broj: 65708
Poruke: 4420
*.dynamic.sbb.rs.



+498 Profil

icon Re: Anketa u php-u sa MySQL03.11.2011. u 23:59 - pre 151 meseci
Super :)
Evo ti neka moja ideja, pa ti vidi da li ti se svidja, ili je prilagodi...

Tabela izgleda ovako, skraticu je na 3 izbora da skratim malo kucanje:

id | tekst_ankete | izbor_1 | izbor_2 | izbor_3 | glasova_1 | glasova_2 | glasova_3

Stranice koje ucestvuju, iliti delovi koda:

index - linkovi do svega, ponudjene ankete itd, nalickaj ga kako hoces :)
stranica za kreiranje ankete - stranica koja radi mysql query i pravi novi unos u tabeli, kreira npr : 1 | Da li volite PHP? | da | ne | ne znam sta je PHP | 0 | 0 | 0
stranica za glasanje - otvara anketu koju uzmes preko id-a ankete (mysql select), prikazuje info o njoj, razlika izmedju tvog i ovog nacina je sto se koristi samo 1 mysql query za prikaz glasova. Kada korisnik odabere preko radio buttona (verovatno ti je to izbor), radi se mysql update query samo tog polja koje je korisnik izabrao.
stranica za prikaz anketa - obican select query jedne ili vise anketa, potom mozes da iscitas vrednosti svih glasova, matematicki odredis procente i posao zavrsen :)
THE ONLY EASY DAY WAS YESTERDAY
 
Odgovor na temu

Milos911
Serbia

Član broj: 219127
Poruke: 1230
77.243.20.*



+303 Profil

icon Re: Anketa u php-u sa MySQL04.11.2011. u 08:46 - pre 151 meseci
Napisah kilometarski odgovor, i taman da posaljem kad nestade struje. Samo na minut. Mislim da se to desava samo u ovoj usranoj drzavi :/.

Enivej, evo kako bih ja to uradio:

tabele:
Code:

anketa:
aid - anketa id
ime - ime ankete
opis - opis ankete

Code:

pitanja:
pid - pitanje id
aid - anketa id
pitanje - tekst pitanje
odgovora - procenat ili broj ili kako hoces odgovora

Code:

odgovori:
oid - odgovor id, ako ti ne treba ne moras ga pisati
aid - anketa id, ako neces cesto uzimati ime ankete, ovo ti ne treba. Za te retke slucajeve mozes uzimati preko pid-a (znaci ide pid pa dalje preko pitanja ides do aid-a)
pid - pitanje id
user (identifikacija korisnika, ako imas registraciju ovde mozes staviti uid, a podatke za korisnika drzati u drugoj tabeli)
odgovor - izabrani odgovor

-----------------------------------------
Znaci prilikom dodavanja ankete prvo upisujes detalje u tabelu anketa. Posle u pitanja upisujes samo pid ankete, i na taj nacin povezujes pitanje sa anketom (imas dobru funkciju mysql_insert_id(), koja ti vraca id zadnje unete vrednosti (id iz auto_increment reda)), cisto da znas ako ces sve da radis na jednoj strani.
Odgovore upisujes u odgovori, logicno. Kad uneses odgovor, radis mysql_query("UPDATE pitanja SET odgovora=odgovora+1(ovo pises bas ovako, ne moras prvo da vadis vrednost odgovora da bi dodao +1) WHERE pid='$pid'").
-----------------------------------------
Prednost ovog pristupa je to sto mozes da imas koliko god hoces pitanja u anketi, i ne moras da svaki put povlacis sve odgovore, jer vrednosti vec imas izracunate u tabeli pitanja.
Inace imena tabela/redova pisi na engleskom, i sori ako sam malo pametovao(racunam bolje sve da napisem, mozda nesto od toga ne znas, znam koliko bi meni koristilo da nisam morao sve sam da provaljujem :) ).
 
Odgovor na temu

[es] :: PHP :: Anketa u php-u sa MySQL

Strane: 1 2

[ Pregleda: 8144 | Odgovora: 28 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.