Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 24 Ιαν 2005 00:58

Θα ήθελα να κατασκευάσω ένα quiz γνώσεων σε PHP στο οποίο ο χρήστης θα πρέπει να απαντάει σε ερωτήσεις multiple choice και τελικά να του βγάζει σκορ, σε ποιές ερωτήσεις έκανε λάθος και τι ποιες είναι οι σωστές απαντήσεις.
Το βασικό είναι ότι θα ήθελα να αποθηκευμένες αρκετές ερωτήσεις (πχ 100) πιθανόν σε μια βάση MySQL από τις οποίες κάθε φορά θα εμφανίζονται στον χρήστη τυχαία κάποιες (πχ 10) έτσι ώστε κάθε φορά που θα κάνει κάποιος το τεστ αυτό να μην εξετάζεται στις ίδιες ερωτήσεις.
Καμιά ιδέα πώς μπορεί να γίνει αυτό?

Άβαταρ μέλους
cordis
Administrator, [F|H]ounder, [C|S]EO
Δημοσιεύσεις: 27626
Εγγραφή: 09 Οκτ 1999 03:00
Τοποθεσία: Greece
Επικοινωνία:

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από cordis » 24 Ιαν 2005 01:04

έχεις ξεκινήσει κάτι πάνω σε αυτό;
έχεις κάνει κάποιο αρχικό διάγραμμα ή κάποιες σημειώσεις με περισσότερες λεπτομέρειες πάνω στις αρχικές ανάγκες;
Δεν απαντάω σε προσωπικά μηνύματα με ερωτήσεις που καλύπτονται από τις ενότητες του forum. Για ο,τι άλλο είμαι εδώ για εσάς.
- follow me @twitter

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 24 Ιαν 2005 09:47

Βασικά πρόκειται για ένα εκπαιδευτικό quiz που θα ελέγχει τη γνώση των εξεταζόμενων σε κάποια μαθήματα.
Οι ερωτήσεις θα έχουν τη μορφή multiple choice και πιθανόν κάποιες από αυτές να συνοδεύονται και από βοηθητική φωτογραφία.
Καλό θα ήταν να υπάρχει και διαβάθμιση της δυσκολίας. Δηλαδή να μπορεί να επιλέξει ο εξεταζόμενος το κεφάλαιο στο οποίο θέλει να εξεταστεί και να επιλέγει "Εύκολο τεστ" ή "Δύσκολο".
Επίσης (αν και αυτό δεν είναι απαραίτητο) θα ήθελα οι ερωτήσεις σταδιακά να δυσκολεύουν (πχ η 1η να είναι πιο απλή από την τελευταία). Αυτό σκέφτηκα βέβαια ότι θα μπορούσε να γίνει, αν εγώ (που θα περνάω τις ερωτήσεις στη βάση) εκ των προταίρων έγω ταξινομήσει το σύνολο των ερωτήσεών μου (δίνοντάς τους μια τιμή που θα δηλώνει το βαθμό δυσκολία τους). Με αυτό τον τρόπο, ο "random" επιλογέας ερώτησης θα ξέρει ότι πχ από τις 10 ερωτήσεις, κάποιες πρέπει να είναι εύκολες και κάποιες όχι. Όμως αυτό δεν είναι και τόσο απαραίτητο.
Οι ερωτήσεις καλό είναι να εμφανίζονται μία - μία και αφού ολοκληρωθεί το τεστ, να βγάζει στον εξεταζόμενο μια βαθμολογία και να του δείχνει πού έκανε λάθος, ποια ήταν η σωστή απάντηση και σε ποιο κεφάλαιο του βιβλίου θα πρέπει να ανατρέξει για να βρει την απάντηση γραμμένη.
Τα αποτελέσματα δεν είναι απαραίτητο να αποθηκεύονται στη βάση.

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 24 Ιαν 2005 21:01

Καμιά ιδέα? Μήπως πρέπει να κάνω post και σε άλλη κατηγορία (εκτός PHP)?

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από soteres2002 » 24 Ιαν 2005 21:40

elavd έγραψε:Καμιά ιδέα? Μήπως πρέπει να κάνω post και σε άλλη κατηγορία (εκτός PHP)?
kati tetoio eixa ftiaksei paliotera se php kai mysql. i diki mou ilopoiisi basizotan sto eksis. dimiourgia interface se php kai sindesi ston mysql diakomisti. auto einai efkolo poli... kai meta kaneis apo 1 eos x pinakes analoga me to epipedo diskolias. gia kathe row tou pinaka tha exeis ena monadiko akeroaio id. kai me tin boithia tis SELECT kai tis RANDOM ts mysql tha fortoneis ena tixaio row. kathos tha tsibas tin erotisi, tha tsibas kai to id tis. meta to id boreis na to xoseis se ena url pros mia selida check.php kai tha baleis mia metabliti px $what kai mia pou tha dimiourgeite aftomatos me tin forma, say $answer. etsi tha dimiourgeitai lx ena url san to check.php?what=[ID]&answer=[answer].

fisika boreis na doulepseis to project eite se mia selida dimiourgontas bilbiothikes se arxeia *.inc i se ksexoristes selides me sessions, gia na exeis pliri elegxo... proteino to deutero!!!!!!!!!!!!!!! strongly!!!!!!!!!!

koita einai poli efkolo stin ilopoiisi... tora den ksero an katalabes akribos pio monopati tha akolouthisis... kai an den exeis katalabei entelos ksanadiabase kai na skeftesai tautoxrona mia alli (paromia) ilopoiisi....

an exeis kai ligosti embiria me PHP + Mysql boreis na to fereis eis peras kai xoris poli poli kopo... me ligi programmatistiki autopepithisi oti tha to bgaleis... kai sigoura tha to bgaleis....

gia to en logo project mono kati tha sou po: kane ena sxedio idika gia tin mysql kai tin php ksexora, ose na min blexteis meta kai psaxnesai... organose sosta tis selides PHP sou kai idika ta tables gia tin mysql... an kaneis auto to bima sosta meta ta alla einai tpt...

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 24 Ιαν 2005 22:07

soteres2002 έγραψε:kati tetoio eixa ftiaksei paliotera se php kai mysql. i diki mou ilopoiisi basizotan sto eksis. dimiourgia interface se php kai sindesi ston mysql diakomisti. auto einai efkolo poli... kai meta kaneis apo 1 eos x pinakes analoga me to epipedo diskolias. gia kathe row tou pinaka tha exeis ena monadiko akeroaio id. kai me tin boithia tis SELECT kai tis RANDOM ts mysql tha fortoneis ena tixaio row. kathos tha tsibas tin erotisi, tha tsibas kai to id tis. meta to id boreis na to xoseis se ena url pros mia selida check.php kai tha baleis mia metabliti px $what kai mia pou tha dimiourgeite aftomatos me tin forma, say $answer. etsi tha dimiourgeitai lx ena url san to check.php?what=[ID]&answer=[answer].
Σε ευχαριστώ πολύ για τη βοήθεια και την ηθική υποστήριξη!! :D
Η αλήθεια είναι ότι δεν έχω φοβερή εμπειρία στην PHP, παρόλα αυτά όμως κατάλαβα τα περισσότερα από αυτά που έγραψες.
Έχω καναδυό απορίες όμως:
1) στην μεταβλητή $what θα καταχωρώ την απάντηση και θα τη συγκρίνω με την σωστή $answer?
2) πώς θα εξάγω το αποτέλεσμα στο τέλος? Δεν θα πρέπει κάπου να αποθηκεύω τις απαντήσεις που δίνει κατά τη διάρκεια του τεστ ο χρήστης(λάθος και σωστές) ώστε στο τέλος να του βγάζει το σκόρ και ποιες θα έπρεπε να είναι οι σωστές απαντήσεις?

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από ThyClub » 24 Ιαν 2005 22:44

1) στην μεταβλητή $what θα καταχωρώ την απάντηση και θα τη συγκρίνω με την σωστή $answer?
Ακριβώς.
2) πώς θα εξάγω το αποτέλεσμα στο τέλος? Δεν θα πρέπει κάπου να αποθηκεύω τις απαντήσεις που δίνει κατά τη διάρκεια του τεστ ο χρήστης(λάθος και σωστές) ώστε στο τέλος να του βγάζει το σκόρ και ποιες θα έπρεπε να είναι οι σωστές απαντήσεις?
Αυτό μπορείς να το κάνεις με sessions. ΠΧ

Σε κάθε απάντηση εσύ θα αποθηκεύεις στο session του χρήστη τις απαντήσεις του και στο τέλος θα συγκρίνεις με ενα array που θα περιέχει τις σωστές κάτι σαν:

Κώδικας: Επιλογή όλων

if($SESSION[0]==$answers[0]){
 $results[0]="Correct";
}
Αυτό θα το κάνεις για κάθε ερώτηση. Έτσι στο τέλος θα μπορείς να δίνεις στο χρήστη τα αποτελέσματα.

Αυτό είναι απλά μια ιδέα. Μπορείς να αποθηκεύεις τις απαντήσεις στη βάση, να κρατάς στατιστικά κτλ κτλ.

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 25 Ιαν 2005 12:24

ThyClub έγραψε:Σε κάθε απάντηση εσύ θα αποθηκεύεις στο session του χρήστη τις απαντήσεις του και στο τέλος θα συγκρίνεις με ενα array που θα περιέχει τις σωστές κάτι σαν:

Κώδικας: Επιλογή όλων

if($SESSION[0]==$answers[0]){
 $results[0]="Correct";
}
Αυτό θα το κάνεις για κάθε ερώτηση. Έτσι στο τέλος θα μπορείς να δίνεις στο χρήστη τα αποτελέσματα.
Μπορείς να μου στείλεις κανένα link με tutorial για το πώς να χρησιμοποιήσω τα sessions με τη μορφή arrays?

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από Cha0s » 25 Ιαν 2005 12:30

$_SESSION[0] είναι array έτσι και αλλιώς.

Μπορείς να το κάνεις και multidimensional array

$_SESSION[0]['kati]

Άβαταρ μέλους
thdim
Δημοσιεύσεις: 75
Εγγραφή: 10 Σεπ 2004 17:20
Τοποθεσία: Έχω ξεχάσει...

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από thdim » 25 Ιαν 2005 14:42

Έχω κάνει κάτι παρόμοιο, αλλα όχι με random ερωτήσεις αλλά με ορισμένες απο εσένα. Δεν είναι κάτι δύσκολο, ήταν απο τα πρώτα πράγματα που έφτιαξα δοκιμαστικά. Αν θέλεις μπορώ να το ξεθάψω αν το βρώ και να στο στίλω να το φέρεις στα μέτρα σου και να το δουλέψεις.

γεία σου Cha0s!!!

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από Cha0s » 25 Ιαν 2005 14:45

Καλώστον! :D

Κάπου έχω κάνει και εγώ ένα ερωτηματολόγιο για έναν διαγωνισμό ένώς gaming site...

Αν το βρω θα το ποστάρω αυτούσιο να πάρεις μία ιδέα :)

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 25 Ιαν 2005 14:51

Αντε μπράβο ρε παιδιά, βοηθείστε και εμάς τους newbies :D :D :D

Άβαταρ μέλους
elavd
Δημοσιεύσεις: 323
Εγγραφή: 16 Σεπ 2004 00:04
Τοποθεσία: Ιωάννινα

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από elavd » 28 Ιαν 2005 14:24

Λοιπόν thdim και Cha0s????
Δε θα κάνετε post αυτά που λέγατε?

Άβαταρ μέλους
thdim
Δημοσιεύσεις: 75
Εγγραφή: 10 Σεπ 2004 17:20
Τοποθεσία: Έχω ξεχάσει...

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από thdim » 30 Ιαν 2005 03:05

Δώσε μου το e-mail σου, να στο στήλω. Δεν μπορώ να κάνω post 6 αρχεία κώδικα.

Άβαταρ μέλους
Cha0s
SysAdmin
Δημοσιεύσεις: 10242
Εγγραφή: 28 Ιούλ 2001 03:00

Δημιουργία quiz σε PHP & Mysql με τυχαίες ερωτήσεις

Δημοσίευση από Cha0s » 11 Φεβ 2005 18:49

Δυστυχώς φίλε Ηλία δεν το βρίσκω το script.

Μάλλον θα ήταν θύμα και αυτό του προβλήματος που σου ανέφερα με τον σκληρό :(

Παρόλαυτα σε ένα άλλο τόπικ ο Tanaka ανέφερε αυτό
http://phpsurveyor.sourceforge.net/

Για δες μήπως σου κάνει ;)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες