• 締切済み

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>"; } … これで表示されません。 何とか解決する方法を教えてください。

みんなの回答

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

#1の補足ですが、 PHPで値を複数取得する場合には名前に[]をつけなければなりません。 実装例などは参考URLにありますので読んでみてください。

参考URL:
http://www.php.net/manual/ja/faq.html.php#faq.html.arrays
回答No.1

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>"; } に変更でいけそうな気がします。

関連するQ&A