尝试使用复选框更新php中的多行

时间:2016-06-25 10:48:54

标签: php

我正在尝试使用复选框通过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");

}

?>

1 个答案:

答案 0 :(得分:0)

首先;有时它有助于查看究竟发送了什么。利用PHP的调试功能。

例如;

var_dump($_POST);

一旦确定了$ _POST超全局数组中的键/值,就可以相应地更新SQL语句。