図のように、表の1つ1つのセルに入力(input)できるようになっており、UPDボタンを押すと、
データベースに入っている値がアップデートできるようにしたいと考えています。
(下記URLでHTMLをご確認いただけます)
JSFiddle
https://jsfiddle.net/knxuq305/
1行ずつであれば下記UPDATE文で良いかと思います。
PHP
1<?php 2 //DB接続済($dbh) 3 $ID01 = "1"; 4 $ID02 = "2"; 5 $ID03 = "3"; 6 7 $NAME1 = "ごりら"; 8 $NAME2 = "らっぱ"; 9 $NAME3 = "ぱんだ"; 10 $NAME4 = "だんご"; 11 12 $var1 = $_POST['d01']; 13 $var2 = $_POST['d02']; 14 $var3 = $_POST['d03']; 15 $var4 = $_POST['d04']; 16 $var5 = $_POST['d05']; 17・ 18・ 19・ 20 21 //1行目の値をアプデ 22 $sql = "UPDATE `テーブル` SET `$NAME1` = '$var1', `$NAME2` = '$var2', `$NAME3` = '$var3', `$NAME4` = '$var4', WHERE ID = '$ID01'"; 23 $stmt = $dbh -> prepare( $sql ); 24 $stmt -> execute(); 25 26?> 27 28<html> 29 <form action="" method="post" > 30 <table> 31 <tbody> 32 33 <tr> 34 <td>ID</td> 35 <td>ごりら</td> 36 <td>らっぱ</td> 37 <td>ぱんだ</td> 38 <td>だんご</td> 39 </tr> 40 41 <tr> 42 <td>1</td> 43 <td><input type="text" name="d01" value="452"></td> 44 <td><input type="text" name="d02" value="545"></td> 45 <td><input type="text" name="d03" value="452"></td> 46 <td><input type="text" name="d04" value="245"></td> 47 </tr> 48 49 <tr> 50 <td>2</td> 51 <td><input type="text" name="d05" value="842"></td> 52 <td><input type="text" name="d06" value="585"></td> 53 <td><input type="text" name="d07" value="882"></td> 54 <td><input type="text" name="d08" value="335"></td> 55 </tr> 56 57 <tr> 58 <td>3</td> 59 <td><input type="text" name="d09" value="452"></td> 60 <td><input type="text" name="d10" value="545"></td> 61 <td><input type="text" name="d11" value="452"></td> 62 <td><input type="text" name="d12" value="245"></td> 63 </tr> 64 65 </tbody> 66 </table> 67 68 <center><input type="submit" value="UPD"></center> 69 </form> 70</html> 71
例えばこれが1000行あって、それぞれのフィールドに異なる値をいれたい場合、
1行ずつSQL文を記述しては冗長になってしまいます。
もう少し簡潔に記述できれば教えていただきたいです。
質問内容が意味不明であれば、お手数ですがご指摘ください。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。