- 締切済み
PHP&mysqlで、選択したcheckboxを次ページで表示させる方法
php&mysqlの初心者です。 現在、以下の様なホームページを考えています。 (1)DB内を検索 (2)DBアクセスし、検索結果を表で表示。 その際、checkboxを左につける。 (3)チェックされたレコードを再表示。 (1)から(2)まではうまくいくのですが、 checkboxでチェックされたレコードを再表示させる部分で 悩んでいます。 具体的には以下のような感じです。 ●(2)の部分 while($row = mysql_fetch_array($result)) { echo "<tr><td>"; echo "<input type=checkbox name=d_decide value="; $row{renban}; echo ">"; echo "</td><td>"; echo $row{"renban"}; echo "</td><td>"; echo $row{"namae"}; … ●(3)の部分 for($i=0; $i<count($d_decide);$i++) { echo $i; echo $d_decide{$i}; echo $_POST[d_decide]{$i}; echo "<br>"; } … これで表示されません。 何とか解決する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Bonjin
- ベストアンサー率43% (418/971)
#1の補足ですが、 PHPで値を複数取得する場合には名前に[]をつけなければなりません。 実装例などは参考URLにありますので読んでみてください。
- みずの(@mizuno3)
- ベストアンサー率73% (192/263)
echo "<input type=checkbox name=d_decide value="; $row{renban}; echo ">"; この部分を echo "<input type=checkbox name=\"d_decide[]\" value-\"{$row['renban']}\">"; に変更 for($i=0; $i<count($d_decide);$i++) { echo $i; echo $d_decide{$i}; echo $_POST[d_decide]{$i}; echo "<br>"; } の部分を for($i=0; $i<count($d_decide);$i++) { echo $i; echo $d_decide[$i]; echo $_POST[d_decide][$i]; echo "<br>"; } に変更でいけそうな気がします。