cinos11 Posted June 4, 2010 Share Posted June 4, 2010 Well, in this code which i created: <?php $name2 = $_REQUEST['name'] ; $name = strip_tags($name2); $ip = $_SERVER['REMOTE_ADDR']; if($name == '') {print "<center><br /><br /><b><a href=\"javascript:history.go(-1)\">You have not entered a name, click here to go back.</a></b></center>";} else { ?> <?php $q1 = $_POST['q1']; $q2 = $_POST['q2']; $q3 = $_POST['q3']; $q4 = $_POST['q4']; $q5 = $_POST['q5']; $q6 = $_POST['q6']; $q7 = $_POST['q7']; $q8 = $_POST['q8']; $q9 = $_POST['q9']; $q10 = $_POST['q10']; $q11 = $_POST['q11']; $q12 = $_POST['q12']; $q13 = $_POST['q13']; $q14 = $_POST['q14']; $q15 = $_POST['q15']; $q16 = $_POST['q16']; $q17 = $_POST['q17']; $q18 = $_POST['q18']; $q19 = $_POST['q19']; $q20 = $_POST['q20']; $score = 0; if ($q1== 'a') $score++; if ($q2 == 'b') $score++; if ($q3 == 'b') $score++; if ($q4 == 'a') $score++; if ($q5 == 'a') $score++; if ($q6 == 'b') $score++; if ($q7 == 'c') $score++; if ($q8 == 'a') $score++; if ($q9 == 'd') $score++; if ($q10 == 'a') $score++; if ($q11 == 'b') $score++; if ($q12 == 'd') $score++; if ($q13 == 'a') $score++; if ($q14 == 'e') $score++; if ($q15 == 'b') $score++; if ($q16 == 'c') $score++; if ($q17 == 'd') $score++; if ($q18 == 'a') $score++; if ($q19 == 'b') $score++; if ($q20 == 'd') $score++; $db; $sql="INSERT INTO mstest2_scores (name, score, ip) VALUES ('".$name."','".$score."','".$ip."')"; if (!mysql_query($sql,$conn)) { die('Error: ' . mysql_error()); } echo "Success! Go here to see a list of everyone's scores: <a href=\"/?p=msresultscores2\">All Scores</a>"; echo '<h1>Your Results for the <b>Quiz</b>!</h1>'; echo '<b>Your knowledge score was ' . $score . '/20</b><br><br>'; if ($score <= 10) echo 'You failed the test.'; else if ($score == 20) echo 'Congratulations, you got a perfect score.'; else echo 'Not bad, you scored average.'; ?> <?php $result = mysql_query("SELECT * FROM mstest2_qa"); while($row = mysql_fetch_array($result)) { $question_number = $row['question_number']; $question = $row['question']; $answer = $row['answer']; $row_a = $row['a']; $row_b = $row['b']; $row_c = $row['c']; $row_d = $row['d']; $row_e = $row['e']; $row_f = $row['f']; $row_g = $row['g']; $row_h = $row['h']; echo ('<b><u>Question '.$question_number.': '.$question.'</u></b><br />'); if($row_a == ""){ } else{ echo (' a. '.$row_a.' <br />'); } if($row_b == ""){ } else{ echo ('b. '.$row_b.' <br />'); } if($row_c == ""){ } else{ echo ('c. '.$row_c.' <br />'); } if($row_d == ""){ } else{ echo ('d. '.$row_d.' <br />'); } if($row_e == ""){ } else{ echo ('e. '.$row_e.' <br />'); } if($row_f == ""){ } else{ echo ('f. '.$row_f.' <br />'); } if($row_g == ""){ } else{ echo ('g. '.$row_g.' <br />'); } if($row_h == ""){ } else{ echo ('h. '.$row_h.' <br />'); } $showanswer = $q1++; echo '<u><i>You Answered: ' . $showanswer . '<br></u>'; echo '<u>Correct Answer: '.$answer.'<br></i></u><hr>'; } mysql_close($conn); } ?> Right where it says $showanswer = q1++; Instead of it going a,b,c,d,e,f and so on. I need to be able to change that variable so it becomes q1,q2,q3,q4,q5,q6 and so on. How do i get it to do that instead? Link to comment https://forums.phpfreaks.com/topic/203814-help-how-to-change-variable-increments-during-while-statement/ Share on other sites More sharing options...
ignace Posted June 4, 2010 Share Posted June 4, 2010 I re-wrote your code to a simpler, properly indented example. if (!empty($_POST)) { $answers = array( ''/*!important*/, 'a', 'b', 'b', 'a', 'a', 'b', 'c', 'a', 'd', 'a', 'b', 'd', 'a', 'e', 'b', 'c', 'd', 'a', 'b', 'd'); $score = 0; foreach ($answers as $key => $value) { if (isset($_POST['q' . $key])) { if ($value === $_POST['q' . $key]) { $score += 1; } } } $sizeof = sizeof($answers) - 1; if ($sizeof === $score) { echo 'Congratulations, you got a perfect score.'; } else if (floor($sizeof / 2) < $score) {//11+ echo 'Not bad, you scored average.'; } else { echo 'You failed the test.'; } } Link to comment https://forums.phpfreaks.com/topic/203814-help-how-to-change-variable-increments-during-while-statement/#findComment-1067568 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.