Ερωτήσεις και απτήσεις multiple choice πώς;

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

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

Απάντηση
valantis315
Δημοσιεύσεις: 37
Εγγραφή: 25 Ιουν 2008 20:30

Ερωτήσεις και απτήσεις multiple choice πώς;

Δημοσίευση από valantis315 » 16 Μάιος 2011 01:16

Καλησπέρα έχω έναν πίνακα που κάθε γραμμή έχει 1 ερώτηση 8 πιθανές απαντήσεις και την σωστή.
Θέλω να τις εμφανίζω στον χρήστη όπως φαίνετε στην εικόνα.

Τα προβλήματα μου είναι:
1) Πώς και πού θα αποθηκεύσω τα αποτελέσματα, δλδ ο χρήστης με username (το έχω) απάντησε 3 απο τις 10 ερωτήσεις σωστά ώστε στο τέλος να του εμφανίζεται το αποτέλεσμα αλλα και να αποθηκεύετε στην βάση.
2) Με ποιόν τρόπο θα το κάνω να τελιώνει και να πηγαίνει στην σελίδα των αποτελεσμάτων; Δοκιμασα το:

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

<?
if &#40;$i <= $numberofresults&#41; &#123; ?>
  <input type="submit" name="next" value="Επόμενη"  />
  </div>
  </form>
  

<? &#125; else &#123; ?>
<form action="end.php" method="post">
	<input type="submit" name="end" value="Τέλος"  />
    </div>
    </form>
 
    <? &#125; ?>
Αλλα δεν παίζει... Όλος ο κώδικας για την αναζήτηση:

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

<?
include&#40;"../include/session.php"&#41;;
if&#40;!$session->isTeacher&#40;&#41; && !$session->isAdmin&#40;&#41; && !$session->isStudent&#40;&#41;&#41;&#123;
   header&#40;"Location&#58; ../main.php"&#41;;
&#125;
else&#123;
?>
<?php include&#40;'menu.htm'&#41;; ?> 
  <div id="mainContent">
    <h1>Ηλεκτρονική εξέταση</h1>
    
    <?
    $lesson=$_POST&#91;lesson&#93;;
	include&#40;"connect.php"&#41;; 
	$result = "SET NAMES 'utf8' ";
	mysql_query&#40;$result&#41;;
	$lessonname = mysql_query&#40;"SELECT * FROM lesson WHERE title = '$lesson'"&#41;;
	while&#40;$row = mysql_fetch_array&#40;$lessonname&#41;&#41;
	$lessonid = $row&#91;'l_id'&#93;; 
	
	
	
	
	$i='1';
	$i=$_POST&#91;count&#93;+'1';
	$count=$_POST&#91;apantisi&#93;;
	$erwtisi = mysql_query&#40;"SELECT * FROM records WHERE l_id = '$lessonid' LIMIT $i"&#41;;
	

	while&#40;$row = mysql_fetch_array&#40;$erwtisi&#41;&#41;&#123;
	$erwtisi1 = $row&#91;'erwtisi'&#93;;
	$apantisi1 = $row&#91;'apantisi1'&#93;;
	$apantisi2 = $row&#91;'apantisi2'&#93;;
	$apantisi3 = $row&#91;'apantisi3'&#93;;
	$apantisi4 = $row&#91;'apantisi4'&#93;;
	$apantisi5 = $row&#91;'apantisi5'&#93;;
	$apantisi6 = $row&#91;'apantisi6'&#93;;
	$apantisi7 = $row&#91;'apantisi7'&#93;;
	$apantisi8 = $row&#91;'apantisi8'&#93;;
	$swsti=$row&#91;'swsti'&#93;;
	&#125;
	$query = 'SELECT COUNT&#40;*&#41; FROM `records`';
	$result = mysql_query&#40;$query&#41; or die&#40;'Sorry, we could not count the number of results&#58; ' . mysql_error&#40;&#41;&#41;;
	$numberofresults = mysql_result&#40;$result, 0&#41;;
	echo "aaaaa".$numberofresults;
	
	$apantisiuser=$_POST&#91;apantisi&#93;;
	$swstipr=$_POST&#91;swsti&#93;;
	echo "user&#58; ".$apantisiuser;
	echo "swsti&#58; ".$swstipr;
	if &#40;$apantisiuser == $swstipr&#41; &#123;
		$e='1';
	&#125; else &#123;
		$e='0';
	&#125;
	$score='0';
	$score=$_POST&#91;score&#93;+$e;
	echo "Score&#58; ".$score;
	?>
    

    <form action="index.php" method="post">
	<p align="center" style="line-height&#58; 150%"><b>
	<font face="Tahoma" size="5" color="#6699FF">ΕΡΩΤΗΣΗ <? echo $i; ?></font></b></p>
	<div align="center">
	<table border="1" cellpadding="0" cellspacing="0" style="border-collapse&#58; collapse" bordercolor="#111111" width="100" id="AutoNumber1" height="16">
  		<tr>
      		<td height="16" align="left" bgcolor="#CCDDFF" style="border-style&#58; solid; border-color&#58; #000080" width="598">
        		<p align="left">
				<pre> <? echo $erwtisi1; ?></pre>
           	</td>
      	</tr>
	</table>
	</div>


<p align="center" style="line-height&#58; 150%"><b>
<font face="Tahoma" size="5" color="#6699FF">ΑΠΑΝΤΗΣΗ</font></b></p>
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse&#58; collapse" width="50%" id="AutoNumber1" height="16">
  <tr>
      <td height="16" align="right" bgcolor="#CCDDFF" style="border-style&#58; solid; " width="598" bordercolorlight="#99CCFF" bordercolordark="#99CCFF">
        <p align="left"><font color="#0000FF" face="Tahoma">
          	<input type="radio" value="<? echo $apantisi1; ?>" name="apantisi"><? echo $apantisi1; ?></font></p>
        <p align="left"><font color="#0000FF" face="Tahoma">
      		<input type="radio" value="<? echo $apantisi2; ?>" name="apantisi"><? echo $apantisi2; ?></font></p>       
        <p align="left"><font color="#0000FF" face="Tahoma">
        	<input type="radio" value="<? echo $apantisi3; ?>" name="apantisi"><? echo $apantisi3; ?> </font></p>      
        <p align="left"><font color="#0000FF" face="Tahoma">
        	<input type="radio" value="<? echo $apantisi4; ?>" name="apantisi"><? echo $apantisi4; ?> </font></p>
      </td>
      <td height="16" align="right" bgcolor="#CCDDFF" style="border-style&#58; solid; " width="598" bordercolorlight="#99CCFF" bordercolordark="#99CCFF">
      	<p align="left"><font color="#0000FF" face="Tahoma">
      		<input type="radio" value="<? echo $apantisi5; ?>" name="apantisi"><? echo $apantisi5; ?> </font></p>
      	<p align="left"><font color="#0000FF" face="Tahoma">
      		<input type="radio" value="<? echo $apantisi6; ?>" name="apantisi"><? echo $apantisi6; ?> </font></p>      
      	<p align="left"><font color="#0000FF" face="Tahoma">   
  			<input type="radio" value="<? echo $apantisi7; ?>" name="apantisi"><? echo $apantisi7; ?> </font></p>  
      	<p align="left"><font color="#0000FF" face="Tahoma">
			<input type="radio" value="<? echo $apantisi8; ?>" name="apantisi"><? echo $apantisi8; ?> </font></p>  
      </td>
  </tr>
</table>
</div>

<div align="center">
<p><input type="hidden" name="count" value="<? echo $i; ?> "/></p>
<p><input type="hidden" name="score" value="<? echo $score; ?> "/></p>
<p><input type="hidden" name="lesson" value="<? echo $_POST&#91;lesson&#93;; ?>"/></p>
<p><input type="hidden" name="swsti" value="<? echo $swsti; ?> "/></p>
<?
if &#40;$i <= $numberofresults&#41; &#123; ?>
  <input type="submit" name="next" value="Επόμενη"  />
  </div>
  </form>
  

<? &#125; else &#123; ?>
<form action="end.php" method="post">
	<input type="submit" name="end" value="Τέλος"  />
    </div>
    </form>
 
    <? &#125; ?>
    

<?php include&#40;'footer.htm'&#41;; &#125;?> 
Παιδιά SOS όποιος μπορεί ας βοηθήσει...! Ξέρω πως ο τρόπος που κάνω την αναζήτηση είναι λάθος αλλα είμαι αρχάριος και αυτό πρέπει να έχει τελιώσει μέχρι τελος του μήνα (πτυχιακή).
Συνημμένα
freestuff.jpg

Άβαταρ μέλους
Christianago
Δημοσιεύσεις: 332
Εγγραφή: 12 Νοέμ 2009 13:36

Ερωτήσεις και απτήσεις multiple choice πώς;

Δημοσίευση από Christianago » 16 Μάιος 2011 14:10

1) Πώς και πού θα αποθηκεύσω τα αποτελέσματα, δλδ ο χρήστης με username (το έχω) απάντησε 3 απο τις 10 ερωτήσεις σωστά ώστε στο τέλος να του εμφανίζεται το αποτέλεσμα αλλα και να αποθηκεύετε στην βάση.
Μπορεις στον πινακα που αποθηκευεις τους λογαριασμους των χρηστων, διπλα σε καθε username να εχεις και μια στηλη INTEGER
οπου θα αποθηκευει το αθροισμα των σωστων απαντησεων (αυτο ισχυει για ενα μονο τεστ).
2) Με ποιόν τρόπο θα το κάνω να τελιώνει και να πηγαίνει στην σελίδα των αποτελεσμάτων; Δοκιμασα το:
Μπορεις να εχεις ενα μετρητη που να μετραει ποσες ερωτησεις εχει απαντησει ο χρηστης.
Οταν απαντησει και τη 10η ερώτηση, να αποθηκευει σε μια μεταβλητη (μετρητης παλι) τις
σωστες απαντησεις του χρηστη και να τον πηγαινει στη σελιδα των αποτελεσμάτων. Πχ.

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

if &#40;$x <=10&#41;
header&#40;'Location&#58;results.php'&#41;;
Η πιο απλα, αν το θες οπως στη φωτο, μπορεις στη 10 ερωτηση να εχεις ενα κουμπι με name:
Lets_see_the_Results και οταν πχ.

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

if &#40;isset&#40;$_POST&#91;'Lets_see_the_Results'&#93;&#41;&#41;
header&#40;'Location&#58;results.php'&#41;;
να τον πηγαινει στη σελιδα με τα αποτελεσματα αφου πρωτα εχεις αποθηκευσει τις επιλογες του χρηστη.

Απάντηση

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

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

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