2015-08-17 89 views
-3

代码无法正常工作始终显示消息失败。使用复选框代码删除代码无法正常工作

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'; 
     } 
    } 

} 
+0

请格式化您的代码并将HTML部分添加到您的问题。 –

+0

您是否尝试过echo $ del;并看看你是否得到期望的价值? – user5173426

+0

'$ chk = isset($ _ POST ['checkbox']);'。然后,'$ del = $ chk [$ i];'。这是错误的。 $ chk不是一个数组。 –

回答

0

这是错误的:

$chk = isset($_POST['checkbox']); 
$chkcount = count($chk); 
for($i=0;$i<$chkcount;$i++){ 
    $del=$chk[$i]; 

现在有一个失误太多了,多<form>标签和一个结束</form>

我的手机上我不能编辑自己的代码,以便我会建议相处的方式。我很肯定你会喜欢它,当你自己做。

a <td><input type = "checkbox" name = "checkbox" value = "<?php echo $r; ?>"/>Proceed</td>while-loop类似的东西在你的代码while($row = mysqli_fetch_array($result))

<form>年底做出<button>和用户重定向到另一个页面可能delete.php。现在,检查它的集合;

if(isset($_POST['checkbox'] 
{ 
//foreach loop for your query 
foreach($_POST['checkbox'] as $val) 
{ 
// check what you're getting.. 
echo $val; 
}} 

你也可以使用一个简单的for-loop 如果你想:

for($i = 0; $i <count($_POST['checkbox']; $i++) 
{ 
// do your stuff.. 
} 

底线:尝试区分你的表单,查询并进行一个循环从数据库中读取,并在分配值同时你的复选框。

这是我的理解和尝试写从我的手机, 请研究mysqli/PDO以防止SQL注入/ XSS。

+0

@riya这不是假设被复制/粘贴。你得到什么错误? – user5173426