私はデータベースからレコード(「章」でソートされた質問は後で意味がわかります)を読み取り、レコードごとにスコアを追加する調査システムに取り組んできました。質問は配列に格納されます。したがって、1つのレコードにたとえば5つの質問を含めることができます。コードを詳しく見ていきましょう
//echo the question list from the database
$query_questions = mysql_query("SELECT * FROM `vraag`");
while($result = mysql_fetch_array($query_questions))
{
//displaying the questions
echo "<br /><br /><b>";
echo $result['header']. "</b><br />";
echo $result['beschrijving']. "<br /><br />";
echo $result['onderwerp']. "<br />";
$aantal = $result['aantal_vragen'];
$id = $result['id'];
echo "<input type='hidden' id='number_of_questions' value=".$aantal." mousedown='calculate_score(this.value,0)'/>";
$array = unserialize($result['vraag']);
//retrieve the content from the array
for($i = 0; $i < $array; $i++)
{
foreach($array as $value)
{
$array = $value;
echo "<form><table><td>". $array ."</td>";
echo "
<td>1<input type='radio' name='vraag[]' value=1 onclick='calculate_score(".$aantal.",this.value)'/></td>
<td>2<input type='radio' name='vraag[]' value=2 onclick='calculate_score(".$aantal.",this.value)'/></td>
<td>3<input type='radio' name='vraag[]' value=3 onclick='calculate_score(".$aantal.",this.value)'/></td>
<td>4<input type='radio' name='vraag[]' value=4 onclick='calculate_score(".$aantal.",this.value)'/></td>
<td>5<input type='radio' name='vraag[]' value=5 onclick='calculate_score(".$aantal.",this.value)'/></td></table></form>";
}
echo "Uw totaal score is: <span id='total_score[]' ></span>";
break;
}
}
問題は、クエリの最後のレコードを計算する値として使用し、最初のレコードと2番目のレコードを無視し、最後の(3番目の)レコードのみを取得することです。アウト。無線要素のポイントは、ポイントシステムを1から5にランク付けして、次のようにすることです。質問1-2-3-4-5これは私の意図です[レコード1]スコア
【レコード2】スコア
【レコード3】スコア
しかし、現在はこのように機能します[レコード1]
【レコード2】
【レコード3】スコア
自分が持っているbreakコマンドについては完全にはわかりませんが、問題が解決するかどうかをテストしていました。スコアラベルについては、配列がいっぱいになるたびに1ずつインクリメントする必要があることはわかっていますが、構文がわからないか、それが可能かどうかさえわかりません。私はスタックオーバーフローを初めて使用するので、タグが欠落している場合や、目に読めない、または不快なものがある場合はご容赦ください。