我试图通过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");
}
?>
第一;有时查看发送的具体内容会有所帮助。使用PHP的调试功能。
例如,
var_dump($_POST);
一旦你确定了$_POST超级全局数组中的键/值,你就可以相应地更新你的SQL语句。