たとえば、ユーザーがアンケートに投票できるサイトがあるとします。
また、各投票がデータベース内にあり、各投票には一意の ID 列と、質問を格納する列、賛成票の列、反対票の列があります。
そして、ユーザーが投票を表示できるページがあるとしましょう。そのため、すべての投票についてデータベースにクエリを実行し、それらすべてをループして画面に出力し、各質問の横にラジオ ボタン フォームを配置して、質問に yes/no を投票してから送信できるようにします。
ここで助けが必要です。たとえば、画面に何百もの投票があり、ユーザーが 1 つの投票の横にある [送信] ボタンをクリックして投票した場合、レコードを更新する必要がある一意の投票を特定するにはどうすればよいでしょうか?
つまり、ユーザーが特定の送信ボタンをクリックしたときに、どの投票のレコードを更新するかがわかるように、各投票の ID を独自の送信ボタンに関連付けるにはどうすればよいのでしょうか。
Database: A_Database
Table: Polls
ID Question Yes No
1 "Is the sky blue?" 0 0
2 "Is water wet?" 0 0
これがデータベースの構造です。ここで、すべての質問を照会し、それらを画面と投票を送信するためのフォームに出力します。
$query = SELECT * FROM `Polls`;
if ($query_run = mysql_query($query)) {
$count = 0;
$array = mysql_fetch_assoc($query_run);
while ($count < mysql_num_rows($query_run)) {
echo '<strong>Poll: Yes/No:</strong>'.'<br>';
echo mysql_result($query_run, $count, 'Question').' ';
echo mysql_result($query_run, $count, 'yes').'/';
echo mysql_result($query_run, $count, 'no').' ';
echo '<form><input type="radio" name="vote"> yes
<input type="radio" name="vote"> no
<input type="submit" name="submit" value="vote">
</form>';
$count = $count + 1;
}
} else {
echo mysql_error();
}
これで、すべての投票が画面に出力され、それぞれの横に送信ボタンが表示されます。私の質問は、ユーザーが投票して特定の送信ボタンをクリックしたときに、どの投票のレコードを更新するかがわかるように、各送信ボタンを独自の投票に関連付ける方法です。