1. powered by Surfing Waves

PHP/SQL problem oko sabiranja

Discussion in 'EmuGlx Hangout' started by Bahamut, Dec 21, 2017.

  1. Bahamut

    Bahamut Well-Known Member

    1,234
    259
    83
    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:
    Code:
    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...
     
  2. Teoreticar

    Teoreticar Well-Known Member

    2,250
    541
    113
    (Ako sam dobro razumeo, a mislim da nisam)
    Ako ti je fiksirana forma i ako uvek imas samo 3 true/false pitanja, na nivou baze podataka ubaci tri bool polja za odgovore u tu jednu tabelu.
    Nemoj komplikovati bez potrebe i praviti tekstualno polje sa odgovorima, sabirati odgovore i sl. to sve resi na prezentacionom nivou kasnije.


    Ako su ti pitanja dinamicna i mozda ces po potrebi trebati dodavati jos pitanja treba ti univerzalniji sistem od hardcoding-a, ali to moras jasnije definisati specifikaciju.
     
  3. Bahamut

    Bahamut Well-Known Member

    1,234
    259
    83
    Uzmajmunisao sam nekako na najjednostavniji moguci nacin.

    S obzirom da su bitni samo novi odgovori (a ni baza nije velika realno), 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.
     

Share This Page