2016-02-05 30 views
-2

我想选择多个项目来删除数据库中的记录。但我无法做到。我的delete.php很好。我如何使用它来删除多个选定的项目。我刚刚创建了一个复选框。我怎样才能使该复选框的工作。选择多个项目来执行任务

echo"<TR><TD>Select</td><TD>S.N.</td><td><B>Full Name</B></td><td><B>Options</B></td></TR>"; 
while ($myrow = $result->fetch_assoc()) 
{ 
    echo "<tr><td><input type='checkbox'name='mycheck'onclick='toggleform('document.myform','mycheck','ptext')'></td>"; 
    echo "<TD>".$myrow['id']."</TD>"; 
    echo "<TD>".$myrow['name']." </TD>"; 
    echo "<TD><a href=\"view1.php?id=".$myrow['id']."\">View</a> "; 
    echo "<a href=\"delete.php?id=".$myrow['id']."\">Delete</a> "; 
    echo "<a href=\"edit1.php?id=".$myrow['id']."\">Edit</a>"; 
} 
<input type="button" name= "ptext" value="Delete selected"> 
+0

的可能的复制(http://stackoverflow.com/questions/14475096/delete-multiple-rows- [通过选择使用PHP复选框删除多个行] by-selecting-checkboxes-using-php) –

回答

1

您必须创建checkbox namearray类型,即mycheck[]。然后,在delete_all.php页面中,找到总检查复选框并相应地删除它。

<form method='POST' action="delete_all.php"> 

    <?php 
    echo"<TR><TD>Select</td><TD>S.N.</td><td><B>Full Name</B></td><td><B>Options</B></td></TR>"; 
    while ($myrow = $result->fetch_assoc()) 
    { 
      echo "<tr><td><input type='checkbox' name='mycheck[]' value=".$myrow['id']."></td>"; 
      echo "<TD>".$myrow['id']."</TD>"; 
      echo "<TD>".$myrow['name']." </TD>"; 
      echo "<TD><a href=\"view1.php?id=".$myrow['id']."\">View</a> "; 
      echo "<a href=\"delete.php?id=".$myrow['id']."\">Delete</a> "; 
      echo "<a href=\"edit1.php?id=".$myrow['id']."\">Edit</a>"; 
    } 
    ?> 
    <input type="submit" name= "ptext" value="Delete selected"> 

</form> 

delete_all.php

<? 
extract($_POST); 

$totalCheckboxChecked = sizeof($mycheck); 

for($i=0;$i<$totalCheckboxChecked;$i++) 
{ 
    $idToDelete = $mycheck[$i]; 

    echo "DELETE FROM table_Name WHERE id_ColumnName = '$idToDelete'"; 

    // Execute Your Querys 
} 
?> 
+0

未定义变量mycheck在delete_all.php中。 – micky

+0

现在检查@ micky。 –

+0

解决了。我怎么能禁用'删除选定'按钮,直到我检查一个。 – micky

0

您是否在delete.php页面上获取了所有ID?如果是,那么简单的用

DELETE FROM tableName 
WHERE id IN ($id1 , $id2 , $id3 , etc); 

如果没有,就我会做它,我会用表格,然后使用方法后张贴在delete.php页,然后简单地采取从超值全球

$_POST[] 

并使用上面的查询,希望这有助于。