• 締切済み

チェックボックスの使用

PostgreSQL+PHP初心者です。 DBから登録者一覧を抽出し、CheckBoxでチェックしたものだけ 修正をします。 DBから抽出し、テーブルを作成するところまでは出来ました。 その後CheckBoxのチェック済みだけを修正する場合はどうすればいいですか? ↓現在のソースです。 <html> <head> </head> <body> <FORM NAME="form1" action="insert.php" method="post"> <? $hostname="svibm01"; $con = pg_connect("host=$hostname dbname=testdb user=testuser password=testuser"); if(!$con) { print "データベースに接続できませんでした.\n"; exit; } $sql = "select * from name"; $rtn = pg_exec($con, $sql); if(!$rtn) { print "テーブルの検索に失敗しました.\n"; pg_close($con); exit; } $m = pg_numrows($rtn); $n = pg_numfields($rtn); print "<table border>\n"; print "<tr>\n"; print "<th> </th>"; $i = 0; while($i < $n) { print "<th>".pg_fieldname($rtn, $i)."</th>\n"; $i++; } print "</tr>\n"; $j = 0; while($j < $m) { $i = 0; print "<tr>\n"; print "<td align=center><input type=checkbox name=check".pg_result($rtn, $j, $i)." value=".pg_result($rtn, $j, $i)."></td>"; while($i < $n) { print "<td align=center>".pg_result($rtn, $j, $i)."</td>\n"; $i++; } print "</tr>\n"; $j++; } pg_close($con); print "</table>"; ?> <br> <br> <input type="submit" name="add" value="追加" /> <input type="submit" name="upd" value="変更" /> </FORM> </body> </html>

みんなの回答

回答No.1

やり方はいろいろ考えられますが、とりあえずこんな感じでやります。 1. チェックボックスの名前を配列とする。 2. チェックボックスの値にID名を入れる。 すなわち、 print "<td align=center><input type=checkbox name=check[] value=".pg_result($rtn, $j, $i)."></td>"; として送信すると、$_POST["check"]は配列として送信されます。 これをもとに、 $cnt = count($_POST["check"]); for($i=0;$i<$cnt;$i++){  $sql = "UPDATE .....WHERE id='".$_POST["check][$i]."'";  //以下略 } のようにすれば良いと思います。

tttrrrr
質問者

お礼

返信ありがとうございます。 チェックボックスにIDを与えることがとても勉強になりました。

関連するQ&A