banjalukaforum.com
https://www.banjalukaforum.com/

PHP/SQL problem
https://www.banjalukaforum.com/viewtopic.php?f=18&t=67741
Stranica 1 od 1

Autoru:  Bahamut [ 21 Dec 2017, 21:30 ]
Tema posta:  PHP/SQL problem

Mucim se sa jednom web aplikacijom, u pitanju je standardna kontakt forma, koja kupi podatke i unosi u bazu (tekst iskljucivo).
E sad, drugi dio su pitanja sa tri ponudjena odgovora, na svako pitanje daje odgovor sa "tacno" ili "netacno".

Problem je u prikazu podataka iz baze

Do sada je bilo prikaz svakog pitanja u tabeli i odgovor (tacno ili netacno).
S obzirom da se povecava broj pitanja, potrebno je samo ispisati SUMU tacnih odgovora.

Pretpostavljam, da treba modifikovati i formu i bazu, ono sto bi meni bilo najidealnije, jeste svakom pitanje dati isto ime, odnosno da sve odgovore unosi u jedno polje (Recimo polje "Ukupno tacnih odgovora"), pritom bih morao promjeniti "tacno" i "netacno" u 1 i 0.

Ono sto me zanima je kako to izvesti u PHPu, dakle, treba mi tacna sintaksa za:

PHP:
Kod:
INSERT into ImeBaze (ime, prezime, mejl... , odgovori) VALUES ('$ime', '$prezime', '$mejl'... , '$odgovori') [color=#FF0000]ON DUPLICATE KEY UPDATE[/color];


Izguglao sam ovo crveno, ali kako nisam bas vjest, ono sto hocu reci bazi je: Ako vec postoji broj u zadanom polju, dodaj mu 1 ili 0, u zavisnosti da li je tacan, odnosno netacan odgovor.

Pomagajte, guglao sam satima, ali kao sto rekoh...

Autoru:  neizreverbiliziran [ 21 Dec 2017, 22:16 ]
Tema posta:  Re: PHP/SQL problem

Ja sam te 30% skontao. :)
Meni se cini da nisi dobro struktuirao bazu na osnovu primjera.
Kakva je struktura u bazi i sta konkretno hoces da izvuces iz nje?

Autoru:  giometar [ 21 Dec 2017, 22:27 ]
Tema posta:  Re: PHP/SQL problem

Bahamut je napisao:
ono sto hocu reci bazi je: Ako vec postoji broj u zadanom polju, dodaj mu 1 ili 0, u zavisnosti da li je tacan, odnosno netacan odgovor.


ovako nesto?

UPDATE dbo.TabelaPitanja SET Odgovori = (CASE Odgovori WHEN 'tacno' THEN 1 ELSE 0 END);

Autoru:  Bahamut [ 22 Dec 2017, 10:54 ]
Tema posta:  Re: PHP/SQL problem

^ To kralju.
S tim da sam ja dodao + kako bi sabiralo unutar polja:

UPDATE dbo.TabelaPitanja SET Odgovori = (CASE Odgovori WHEN 'tacno' THEN +1 ELSE +0 END);

E sad, problem se javlja sto se cijela kolona update-uje, a poslednji u nizu mi javlja 0, tek kad se ponovo submituje dodaje mu vrijednosti.
Ali onda nakon sledeceg submita ponovo mu dodaje istu vrijednost.

Recimo:
Ispunio sam formu sa 13 tacnih odgovora.
U bazi prikazuje 0.
Nakon sledeceg submita, u bazi se azurira tih 13 odgovora.
Ali onda, nakon jos jednog submita tih 13 odgovora postane 26 odgovora.

Jos mi samo treba kako da se updat-uje samo jedan red, odnosno, da se prilikom novog submita ne diraju stari unosi.

Autoru:  giometar [ 22 Dec 2017, 10:58 ]
Tema posta:  Re: PHP/SQL problem

UPDATE dbo.TabelaPitanja SET Odgovori = (CASE Odgovori WHEN 'tacno' THEN +1 END) WHERE IDPitanje = $IDIzForme;

tako nesto, trebas jedinstveno identifikovati na koje pitanje je odgovoreno prilikom submita

ovo ELSE +0 ti ne treba, time mu samo kazes kad nije ispunjen uslov ne dodaj nista, onda komotno mozes obrisati :D

Autoru:  Bahamut [ 22 Dec 2017, 17:54 ]
Tema posta:  Re: PHP/SQL problem

Uzmajmunisao sam nekako na najjednostavniji moguci nacin.

Preimenovao sam odgovore iz "Tacno" u 1 i "Netacno" u 2, stavio ih kao integer i kasnije povukao sumu u PHPu, radi k'o sat :D

Hvala na pomoci.

Stranica 1 od 1 Sva vremena su u UTC [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/