2015-08-17 56 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