0
12行を一度に更新しようとしています。私はこれを行うさまざまな方法の周りを検索したが、彼らの誰も私と一緒に働いた。私は「送信」を押すと何も起こっていません。誰もが以下のスクリプトで間違っているものを見つけるのを手伝ってくれる:1つのフォームを使用して複数の行を更新する
<?php
include 'connection.php';
$sql="SELECT * FROM tbl_maint_track1";
$result=mysql_query($sql);
// Count table rows
$count=mysql_num_rows($result);
$sno = array();
?>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center"><strong>S No</strong></td>
<td align="center"><strong>Qty</strong></td>
<td align="center"><strong>Maint Catgry</strong></td>
<td align="center"><strong>Uprice</strong></td>
<td align="center"><strong>Tprice</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><? $sno[]=$rows['sno']; ?><? echo $rows['sno']; ?></td>
<td align="center"><input name="qty[]" type="text" id="qty" value="<? echo $rows['qty']; ?>"></td>
<td align="center"><input name="maint_catgry[]" type="text" id="maint_catgry" value="<? echo $rows['maint_catgry']; ?>"></td>
<td align="center"><input name="uprice[]" type="text" id="uprice" value="<? echo $rows['uprice']; ?>"></td>
<td align="center"><input name="tprice[]" type="text" id="tprice" value="<? echo $rows['tprice']; ?>"></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
$sno = $_POST['sno'];
$qty = $_POST['qty'];
$maint_catgry = $_POST['maint_catgry'];
$uprice = $_POST['uprice'];
$tprice = $_POST['tprice'];
// Check if button name "Submit" is active, do this
if(isset($_POST["$Submit"])){
for($i=0;$i<$count;$i++){
$sql1= "UPDATE tbl_maint_track1 SET qty = '{$qty[$i]}', maint_catgry = '{$maint_catgry[$i]}', uprice = '{$uprice[$i]}', tprice = '{$tprice[$i]}' WHERE sno = '{$sno[$i]}' ";
$result1=mysql_query($sql1);
}
}
if($result1){
echo "Thanks, $count records updated";
}
else
{
echo "No record updated";
}
close_conn();
?>
は、一つの形で複数のレコードを更新するためのより良い方法はありますか?
ありがとうございます。
返信ありがとうございます。他の問題が解決されたら、私はmysql_real_escape_stringを使用します。あなたが提案するように、私は[$ i]をループに入れましたが、それでもテーブルへの変更は転送しません。データ転送を妨げるものは他にありますか? –
おそらく、{}構文を使用する代わりに。演算子を使用して文字列を結合します。 – davidethell
上記の構文でクエリを更新しますが、それでも機能しません。他の提案はありますか? –