2014-08-29 61 views
1

我有一個刪除數據中的選中項目的問題,因爲我的刪除按鈕不是for循環的一部分,我從數據庫中獲取我的數據,這就是爲什麼我很難過獲取要刪除的數據的ID。我可以使用javascript modaldelete進行一次刪除,但是我無法使用複選框實現同樣的功能,因爲刪除按鈕不在表格內,如果您將刪除按鈕放在複選框旁邊,將不會很好。它對錶中的每個項目都有一個for循環。現在我無法弄清楚如何從選中的複選框中獲取值。解決這個問題的更合適的方法是什麼? PHP或JavaScript?這兩種語言更有效率?使用複選框在php或javascript中刪除

這裏是我的代碼片段:

<div style="font-size:16px;"> 
    Search: <input id="filter" type="text" style="height:1em;"/> 
    <p class="pull-right"> 
    <a href="javascript:void(0)" class="modaladdclient" data-id="add">Add</a> &nbsp; 
    <a href="javascript:void(0)" class="modaldelete" data-id="add">Delete</a> &nbsp; 
    </p> 
</div> 

    <?php 
      $statement="SELECT * FROM clients";     
      $result = mysqlparser($statement, $db); 

    ?> 
     <table data-filter="#filter" class="footable" style="background-color:white;"> 
     <thead> 
      <tr> 
       <th>Client ID</th> 
       <th>First Name</th> 
       <th data-sort-initial="ascending">Last Name</th> 
       <th>Mobile Number</th> 
       <th>Branch Code</th> 
       <th data-sort-ignore="true" colspan="2">Options</th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php for($i=0; $i<count($result); $i++){?> 
      <tr> 
       <td><?php echo $result[$i]['Client_ID'];?></a></td> 
       <td><?php echo $result[$i]['First_Name'];?></td> 
       <td><?php echo $result[$i]['Last_Name'];?></td> 
       <td><?php echo $result[$i]['Mobile_Number'];?></td> 
       <td><a href="javascript:void(0)" class="modalbid" data-id="<?php echo $result[$i]['Branch_Code'];?>"><?php echo $result[$i]['Branch_Code'];?></a></td> 
       <td class="text-right"><a href="javascript:void(0)" class="modaledit" data-id="<?php echo $result[$i]['Client_ID'];?>"><button class="btn btn-primary">Edit</button></a></td> 
       <td class="text-center"><input type="checkbox" name=<?php echo $result[$i]['Client_ID'];?>></td> 
      </tr> 
      <?php } 
      if(count($result)==0) 
      { 
       echo "<tr><td colspan='5' style='text-align:center; font-weight:bold;'>No data available</td></tr>"; 
      } 
      else 
      {} 
      ?> 
     </tbody> 
     <tfoot> 
      <tr> 
       <td colspan="8"> 
        <div class="pagination pagination-centered"></div> 
       </td> 
      </tr> 
     </tfoot> 
     </table> 
    <script> 
    $('.modaldelete').click(function() { 
     $.pgwModal({ 
      url: 'submit.php?action=delete&from=clients&col=Client_ID&id='+$(this).data('id'), 
      loading: '<span style="text-align:center">Loading in progress</span>', 
      close: false 
     }); 
    }); 
</script> 

這是我submit.php

if($_GET['action']=="delete") 
{ 
$id = $_GET['id']; 
$from = $_GET['from']; 
$col = $_GET['col']; 

$checkbox = $_POST['checkbox']; 

for($i=0; $i<count($checkbox);$i++) 
{ 
    $del_id = $checkbox[$i]; 

    $statement = "DELETE FROM `".$from."` WHERE `".$col."`='".$del_id."'"; 
    $result = mysqlparser($statement, $db); 
    header("location:data_client.php?delete=1");   

} 
} 

回答

0

你爲什麼不在於使用複選框電平變化。您可以首先調用confirm(),然後刪除條目。

的onchange = 「myFunction的()」

+0

那是什麼myFunction的? JavaScript的? – user3771102 2014-08-29 08:40:41

+0

是的,它是您可以從這個地方打電話給自己的功能的佔位符。您可以編寫一個要求用戶進行確認並在完成後刪除。 – 2014-08-29 09:09:10