我正在尝试使用复选框通过PHP更新表中的多个值。我错过了一些东西,但我已经被困了几个小时。我做错了什么?什么都没有更新。
<?php
if(mysqli_num_rows($query) > 0){
while($row = mysqli_fetch_assoc($query)){
?>
<tr>
<td align="center"><input type="checkbox" name="checked_id[]" class="checkbox" value="<?php echo $row['lead_id']; ?>"/></td>
<td><input name="lead_id[]" type="hidden" value= "<?php echo $row['lead_id']; ?>"></td>
<td><input name="lead_compname[]" type="text" value= "<?php echo $row['lead_compname']; ?>"></td>
<td><input name="lead_add[]" type="text" value= "<?php echo $row['lead_add']; ?>"></td>
<td><input name="lead_city[]" type="text" value= "<?php echo $row['lead_city']; ?>"></td>
<td><input name="lead_cp[]" type="text" value= "<?php echo $row['lead_cp']; ?>"></td>
<td><input name="lead_cpd[]" type="text" value= "<?php echo $row['lead_cpd']; ?>"></td>
<td><input name="lead_cpno[]" type="text" value= "<?php echo $row['lead_cpno']; ?>"></td>
<td><input name="lead_cpemail[]" type="text" value= "<?php echo $row['lead_cpemail']; ?>"></td>
<td><input name="value[]" type="text" value= "<?php echo $row['value']; ?>"></td>
<td><input name="clodate[]" type="text" value= "<?php echo $row['clodate']; ?>"></td>
<td><input name="prodtype[]" type="text" value= "<?php echo $row['prodtype']; ?>"></td>
</tr>
<?php } }else{ ?>
<tr><td colspan="5">No records found.</td></tr>
<?php } ?>
操作文件
<?php
session_start();
include_once('dbConfig.php');
if(isset($_POST['bulk_delete_submit'])){
$idArr = $_POST['checked_id'];
foreach($idArr as $id){
mysqli_query($conn,"UPDATE leadinfor SET lead_compname='$lead_compname[$id]', lead_add='$lead_add[$id]' WHERE lead_id='$lead_id[$id]'");
}
$_SESSION['success_msg'] = 'Updated successfully.';
header("Location:upd.php");
}
?>
答案 0 :(得分:0)
首先;有时它有助于查看究竟发送了什么。利用PHP的调试功能。
例如;
var_dump($_POST);
一旦确定了$ _POST超全局数组中的键/值,就可以相应地更新SQL语句。