【发布时间】:2016-08-17 15:00:15
【问题描述】:
我正在尝试使用选中框的复选框更新 mysql dbase。它更新了表,但行是空的,而不是字段的值。
我的代码
<table width="98%" border="0" align="center" cellpadding="3" cellspacing="0" class="big_table2">
<tr>
<td colspan="12" bgcolor="#FF0000" class="16_white">Awaiting Confirmation</td>
</tr>
<tr class="form_name">
<td> </td>
<td>SN</td>
<td>Date</td>
<td>Office</td>
<td>Prod</td>
<td>Amount</td>
<td>Amt Naira</td>
<td>Hash</td>
<td>Batch</td>
<td>comment</td>
<td>status</td>
</tr>
<form id="pur" name"pur" action="savetodb.php?lrpur_sn=<?php echo $row_lrpur['sn']; ?>" method="POST" >
<?php do { ?>
<tr class="body_text_fade">
<td><input type="checkbox" name="sn[]" value="<?php echo $row_lrpur['sn']; ?>" /></td>
<td><?php echo $row_lrpur['sn']; ?></td>
<td><?php echo $row_lrpur['date']; ?></td>
<td><?php echo $row_lrpur['office']; ?></td>
<td><?php echo $row_lrpur['product']; ?></td>
<td>$<?php echo number_format($row_lrpur['amount'],4); ?></td>
<td>N<?php echo number_format($row_lrpur['amtnaira'],2); ?></td>
<? if($row_lrpur['product'] =='Bit Coin') { ?>
<td><a href="https://blockchain.info/tx/<?php echo $row_lrpur['batch']; ?>" target="_blank">Hash</a></td>
<? }else{ ?>
<td><?php echo $row_lrpur['batch']; ?></td>
<? } ?>
<td><?php echo $row_lrpur['comment']; ?></td>
<td><textarea name="comment2" cols="15" id="comment2" style="color: #66CCFF; border: 1px double #66CCFF; background-color: #FFFFFF"></textarea></td>
<td><select name="status2" id="status2">
<option value="confirmed" selected>V</option>
<option value="query">Q</option>
</select></td>
</tr>
<?php if ($row_lrpur['AdminComment'] != '') { ?>
<tr class="body_text_fade">
<td bgcolor="#000000"> </td>
<td bgcolor="#000000"> </td>
<td bgcolor="#000000"><span class="body_text_white_nopadding_top">Query</span></td>
<td colspan="9" class="body_text_red"><?php echo $row_lrpur['AdminComment']; ?></td>
</tr>
<?php }
} while ($row_lrpur = mysql_fetch_assoc($lrpur)); ?>
<tr class="body_text_fade">
<td height="0"> </td>
<td> </td>
<td height="0"> </td>
<td height="0" colspan="2">Enter Password:</td>
<td height="0" colspan="2" class="body_text_red"><input name="pass" type="password" id="pass" size="10" style="color: #66CCFF; border: 1px double #66CCFF; background-color: #FFFFFF" /></td>
<td height="0" colspan="3" class="body_text_red"><input type="submit" name="updatepurchases" id="updatepurchases" value="Confirm Checked"></td>
<td class="body_text_red"><input type="reset" name="resetchecked" id="resetchecked" value="Reset Checked" /></td>
<td class="body_text_red"> </td>
</tr>
</form>
</table>
这里是php代码:
if ($_POST['pass'] == 'hfdhy67w' && $_GET['lrpur_sn'] !=" ") {
//$sn = $_POST['sn'];
//$impid = implode(", ",$sn);
foreach($_POST["sn"] as $sn) {
$comment2 = mysql_real_escape_string($_POST["comment2"][$sn]);
$status2 = mysql_real_escape_string($_POST["status2"][$sn]);
$sql = mysql_query("UPDATE LRPurchases SET status= '$status2', AdminComment= '$comment2' WHERE sn= $sn")
or die(mysql_error());
if(isset($sql)) {
echo " <h4> Confirmed </h4";
}}
} else {
echo 'Wrong Password'.'</br>';
}
$status2 和 $comment2 始终更新为空。如果我删除 [$sn],它将更新所有字段中的相同值,而不是不同的值。
【问题讨论】: