前提・実現したいこと
初めて質問させていただきます。書き方不十分だったら申し訳ございません。
教えていただけたら補足いたします。
<やりたいこと>
phpでデータベース(DB2)にODBCで接続してSQLで得た結果を表示→
表示項目(商品コード・FLG1・FLG2)のうちFLG1・FLG2の内容をfromで書き換えして結果をデータベースに戻したい。
*FLG1・FLG2は書き換えずそのままの場合もある
<現状>
a.phpでSQLの結果を表示。チェックボックスをつける。チェックした値をb.phpに受け渡し。
input type="checkbox" name="chk[]" value="$ROW[0]">$ROW[0]
b.phpで受け取った値をSQLの条件に入れて絞った状態で表示、変更したい項目をinput type="text"で書き換え可能にする 。
(FLG1・FLG2には1かブランクが入っています)
a.phpからのチェックボックスの受け取りはうまくいってます。
$checkbox = $_REQUEST["chk"];
商品コード・FLG1・FLG2の内容をひとまとめ(配列)にして
c.phpに受け渡して uapdate でデータベース書き換える。
この
b.phpからc.phpへの受けわたしがうまくいかないです。
b.phpは以下の通りです。
ご教示いただきますようお願い致します。
該当のソースコード
php
1b.php 2<?php 3$checkbox = $_REQUEST["chk"]; 4?> 5 6<?php 7// ODBC接続パラメータ 8$DATA_SOURCE = "odbc:DB2" ; 9$USERNAME = "***" ; 10$PASSWD = "***" ; 11// DBの接続 12$DBH = new PDO("$DATA_SOURCE", "$USERNAME", "$PASSWD" ); 13$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 14// レコードの取得 15 $SQL = " select PRCD,FLGS,FLGL". 16 " from PRI". 17 " where PRCD in('$checkbox[0]','$checkbox[1]','$checkbox[2]','$checkbox[3]','$checkbox[4]')". 18 " order by PRCD"; 19 20 21$STH = $DBH->prepare($SQL); 22$STH->execute(); 23 24print"<form action="c.php" method="post">"; 25 26print"<table border="1" cellspacing="1" width="750">"; 27print"<tr><th>商品コード</th><th>FLG1</th><th>FLG2</th></tr>"; 28$count=0; 29while ($ROW = $STH->fetch(PDO::FETCH_NUM)) { 30print"<tr><td>$ROW[0] </td>"; 31 32print "<td><input type="text" name="flgs" value="$ROW[1]"></td>"; 33print "<td><input type="text" name="flgl" value="$ROW[2]"></td>"; 34 35 36//代入 37$a[$count]=array($ROW[0],$ROW[1],$ROW[2]); 38 39 40} 41 ++$count; 42 43print"</table>"; 44print "<input type="submit" value=" 実 行 ">"; 45 print "<input type="hidden" name="a" value="$a">"; 46 47print "</form>"; 48 49 // DB接続の終了 50unset($DBH) ; 51?> 52</from> 53</table> 54</html>
回答1件
あなたの回答
tips
プレビュー