M-am uitat putin pe fisier, e cam mult cod, multe interogari SQL, si ar dura mult sa caut sa inteleg logica si despre ce e vorba.
Cel mai bine tu cunosti ce face. Incearca sa faci verificari (debug) cu var_dump() unde e nevoie, sa vezi ce valori primeste, transmite ... si tot asa iti poti da seama unde ar putea fi problema, unde trebuie modificat sa faca ce vrei
Test online - afisare aleator
-
- Administratorul site-ului
- Mesaje:4343
Test online - afisare aleator
iuly
Mesaje:11
toate interogarile functioneaza bine si codul html .... pur si simplu nu stiu cum sa pun acolo conditia ca atunci cand bifez raspunsul corect sa imi incrementeze o variabila ceva ?
MarPlo
Mesaje:4343
De exemplu, ai o coloana in tabel cu nr. de raspunsuri corecte, "nr_c", de tip INT.
Cand e primit raspunsul, daca e corect, incrementezi acel nr din "nr_c", care apartine raspunsului (dupa un id), cu o unitate.
Cam asa:
$sql = "UPDATE `nume_tabel` SET `nr_c`=`nr_c`+1 WHERE `id`='$id' LIMIT 1";
Cand e primit raspunsul, daca e corect, incrementezi acel nr din "nr_c", care apartine raspunsului (dupa un id), cu o unitate.
Cam asa:
$sql = "UPDATE `nume_tabel` SET `nr_c`=`nr_c`+1 WHERE `id`='$id' LIMIT 1";
iuly
Mesaje:11
nu inteleg ce vrei sa zici , eu vreua sa fac sa-mi afiseze nota dupa test.. de exemplu am nota=1 si dupa ce bifeaza toate intrebarile si sunt corecte nota =10
atat nu ma complic pt fiecare utilizator si asa mai departe (momentan)
atat nu ma complic pt fiecare utilizator si asa mai departe (momentan)
MarPlo
Mesaje:4343
Intelesesem altceva.
Daca nu vrei ca nota sa fie inregistrata pe server, ci sa arate utilizatorului nota totala dupa terminarea testului respectiv, s-ar putea face cu JavaScript. Dar daca nu stii JS, iti va parea complicat.
Ideea e ca sa incluzi in pagina un JavaScript care are intr-un array numele campurilor cu raspunsul corect, iar la apasarea unui buton scriptul sa verifice fiecare din acel camp daca a fost completat si daca da, incrementeaza o variabila cu 1 pt. fiecare si returneaza valoarea acelei variabile.
Ar merge similar si cu php. Intai adaugi intr-o sesiune un array cu raspunsurile corecte si la apasarea unui buton se deschide un script php care verifica daca rezultatele pastrate in sesiune (cate din ele) au fost completate si in functie de numarul celor gasite returneaza nota.
Cam asta ar fi logica, restul..., trebuie implementata.
Daca nu vrei ca nota sa fie inregistrata pe server, ci sa arate utilizatorului nota totala dupa terminarea testului respectiv, s-ar putea face cu JavaScript. Dar daca nu stii JS, iti va parea complicat.
Ideea e ca sa incluzi in pagina un JavaScript care are intr-un array numele campurilor cu raspunsul corect, iar la apasarea unui buton scriptul sa verifice fiecare din acel camp daca a fost completat si daca da, incrementeaza o variabila cu 1 pt. fiecare si returneaza valoarea acelei variabile.
Ar merge similar si cu php. Intai adaugi intr-o sesiune un array cu raspunsurile corecte si la apasarea unui buton se deschide un script php care verifica daca rezultatele pastrate in sesiune (cate din ele) au fost completate si in functie de numarul celor gasite returneaza nota.
Cam asta ar fi logica, restul..., trebuie implementata.
iuly
Mesaje:11
Am inteles logica insa fiecare intrebare si fiecare raspuns la randul lui este intr-un for , cum as putea verifica campul bifat daca este cel corect si sa il verific la randul sau cu niste date dintr-un vector care si acela trebuie "umplut" cu raspunsurile corecte ?
MarPlo
Mesaje:4343
Poti pastra numele campurilor cu raspunsurile corecte intr-un array pe care dupa terminarea buclei il incluzi in sesiune si apoi verifici acea sesiune cand utilizatorul apasa un buton, trimiti la scriptul care verifica sesiunea acel formularul cu casetele completate.
In sesiune adaugi cam asa:, in bucla for unde faci codul pt. campuri, cand ajunge sa creeze campul cu raspunsul corect setezi un array $ar_ses[]='nume_camp_corect'; si dupa terminarea buclei for adaugi in sesiune $_SESSION['corecte']=$ar_ses;
P.S Scuze, altfel nu srtiu sa explic, daca nu se intelege sau codul facut de tine e intr-un fel ce face mai complicata treaba asta, incearca sa creezi propria logica la ce vrei sa faci.
In sesiune adaugi cam asa:, in bucla for unde faci codul pt. campuri, cand ajunge sa creeze campul cu raspunsul corect setezi un array $ar_ses[]='nume_camp_corect'; si dupa terminarea buclei for adaugi in sesiune $_SESSION['corecte']=$ar_ses;
P.S Scuze, altfel nu srtiu sa explic, daca nu se intelege sau codul facut de tine e intr-un fel ce face mai complicata treaba asta, incearca sa creezi propria logica la ce vrei sa faci.
iuly
Mesaje:11
mersi frumos pentru tot efortul depus si pentru emailul trimis
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML Primul mesaj
Bună MarploUltimul mesaj
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc