Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用无法正常工作的复选框代码删除_Php_Html - Fatal编程技术网

Php 使用无法正常工作的复选框代码删除

Php 使用无法正常工作的复选框代码删除,php,html,Php,Html,代码工作不正常总是显示失败消息 function delete(){ $con = mysqli_connect("localhost","root","","rishita_db"); $sql="select * from 14_patientdetails"; $result=mysqli_query($con,$sql); ?> <form method="post" action=""> <center>

代码工作不正常总是显示失败消息

function delete(){
    $con = mysqli_connect("localhost","root","","rishita_db");
    $sql="select * from 14_patientdetails";
    $result=mysqli_query($con,$sql);

    ?>

    <form method="post" action="">
    <center>
    <h1><u>Patient Details</u></h1>
    <table border="1" style="font-family:Georgia;color:#800000;font-style:bold;">
    <tr style="font-family:Georgia;color:green;font-style:bold;">
        <th>#</th>
        <th>Patient ID</th>
        <th>Patient Name</th>
        <th>DOB</th>
        <th>Gender</th>
        <th>Address</th>
        <th>Phone No.</th>
        <th>Medicare</th>
        <th>Doctor Associated</th>
     </tr>
     <form method="post" action="">
    <?php
    while($row=mysqli_fetch_array($result))
    {
        $r=$row['patientId'];
        ?>
        <tr>
        <td><input type='checkbox' name='checkbox[]' id="checkbox" value=<?php echo $r; ?>></td>
        <td><?php echo $row['patientId']; ?></td>
        <td><?php echo $row['patientName']; ?></td>
        <td><?php echo $row['DOB']; ?></td>
        <td><?php echo $row['Gender']; ?></td>
        <td><?php echo $row['Address']; ?></td>
        <td><?php echo $row['Phone']; ?></td>
        <td><?php echo $row['Medicare']; ?></td>
        <td><?php echo $row['Doctor']; ?></td>
        </tr>
        <?php
    }
    ?>
    </table>


    <table>
    <tr>
    <td colspan="5" align="center" bgcolor="#FFFFFF"><input name="del" type="submit" id="del" value="Delete"></td>
    </tr>      
    </table>
    </form>

    <?php
    if(isset($_POST["del"]))
    {
        if(isset($_POST["checkbox"]))
        echo 'Enter';

        $chk = isset($_POST['checkbox']);
        $chkcount = count($chk);
        for($i=0;$i<$chkcount;$i++){
            $del=$chk[$i];
            $sql1 = "DELETE FROM 14_patientdetails WHERE id='$del'";
            $q = mysqli_query($con,$sql1);
        }


        if($q){
            echo "Success";
        }else{
            echo 'Fail';
        }
    }

}
这是错误的:

$chk = isset($_POST['checkbox']);
$chkcount = count($chk);
for($i=0;$i<$chkcount;$i++){
    $del=$chk[$i];
您还可以使用一个简单的for循环 如果您想要:

for($i = 0; $i <count($_POST['checkbox']; $i++)
{
// do your stuff..
}
一句话:尝试区分表单、查询,并创建一个从数据库读取的循环,同时将值分配给复选框

这就是我在手机上理解并试图写的内容, 请研究mysqli/PDO以防止SQL注入/XSS


请格式化您的代码并将HTML部分添加到您的问题中。您是否尝试回显$del;并查看是否获得了所需的值?$chk=isset$_POST['checkbox'];。然后,$del=$chk[$i];。这是错误的$chk不是一个数组。我尝试了echo$del。没有打印任何内容。解决方案是什么?这是因为你弄乱了$chk,正如@codeSun提到的。不要将$chk分配给isset;加我看到两个标签和一个结束标签。@riya这不应该是复制/粘贴的。你犯了什么错误?
for($i = 0; $i <count($_POST['checkbox']; $i++)
{
// do your stuff..
}