• ベストアンサー

チェックボックスでチェックされた情報を表示

複数のチェックボックスでチェックされた情報を次の画面で表示したいです。 例えば、車、バイク、自転車のチェックボックスをチェックして次の画面で”車、バイク、自転車”と表示したいです。 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

あー、なんとなくやりたいことがわかってきました。 ただしいくつか不明点が。 まず1ページ目に表示されるデータはDBから読んで くるということでよろしいのですか? 2ページ目の表示は単なる羅列でよろしいですか? 3ページ目の登録はどういう形式で登録しようと していますか? 1ページ目がDBからよむなら#2のとおりになり、 2ページ目の表示も#2で示した形がベターです。 3ページ目で登録するデータは、「車」や「自転車」 などという文字列ではなくidとして振られている 数字で受け渡すことになるでしょう。 2ページ目でhiddenでデータを埋め込んで、3ページ目に 渡すという方針は問題ないと思います。

eccschool
質問者

お礼

配列の状態で渡して2ページ目でIMPLODE関数で文字列にしました。それで3ページ目でDBに登録しました。取り出しも問題なかったです。

eccschool
質問者

補足

何度も有難うございます。最終的には1ページ目もDBから読み取りたいのですが、とりあえずは単なる入力画面でお願いします。2ページ目は1ページ目のチェックの状況を表示(確認画面)で3ページ目で登録画面でDBに登録。という流れにしたいです。最終的にはID、PASSでログイン後DBからすべての情報を読み取り更新できるようにしたいです。テキストとかラジオボタンの部分はできていますが、チェックボックスの部分だけができていません。 何度もすみません。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

たとえばmysqlと連携して使ったとして送り側と受け側で sqlを発行してやればいいでしょう。 例えばmydbデータベースのnorimonoテーブルに、idとname フィールドがある場合です。 //送り側 okuri.php <?PHP $link = mysql_connect('localhost', 'user', 'password'); mysql_select_db('mydb'); $sql="SELECT `id`,`name` FROM `norimono`;"; $res = mysql_query($sql,$link); while ($rows = mysql_fetch_assoc($res)) { $list.=<<<eof <input type="checkbox" name="norimono[]" value="$rows[id]">$rows[name] } print <<<eof <form action="uke.php" method=post> $list <input type="submit"> </form> eof; ?> //受け側 uke.php <?PHP $id=join($_POST["norimono"],","); $link = mysql_connect('localhost', 'user', 'password'); mysql_select_db('mydb'); $sql="SELECT `id`,`name` FROM `norimono` WHERE `id` IN ($id);"; $res = mysql_query($sql,$link); while ($rows = mysql_fetch_assoc($res)) { $list.=($list==""?"":"、").$rows['name']; } print <<<eof $list eof; ?>

eccschool
質問者

補足

有難うございます。1ページ目でチェックボックスをチェックして2ページ目でその内容を表示3ページ目でDBに登録したいのですが、2ページから3ページ目にチェックボックスでチェックした内容を送りたいのですがhiddenで送れません。配列の状態だからですか?よく分からないです。教えてください。お願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

[]つきのnameで指定すると、受け側で配列として認識 されます。 送り側 //okuri.htm <form action="uke.php" method=post> <input type="checkbox" name="norimono[]" value="車">車 <input type="checkbox" name="norimono[]" value="バイク">バイク <input type="checkbox" name="norimono[]" value="自転車">自転車 <input type="checkbox" name="norimono[]" value="電車">電車 <input type="submit"> </form> 受け側 //uke.php <?PHP foreach($_POST["norimono"] as $val){ print $val; } ?>

eccschool
質問者

補足

有難うございます。DBを使って値を投入したいです。 <input type="checkbox" name="norimono[]" value="1">車<input type="checkbox" name="norimono[]" value="2">バイク<input type="checkbox" name="norimono[]" value="3">自転車<input type="checkbox" name="norimono[]" value="4">電車 次の画面で受け取った値から表示したいです。switchで判別して変えたいのですがうまくいきません。どうしたらいいでしょうか?

関連するQ&A

専門家に質問してみよう