Php 使用复选框从数据库中删除多个数据
如何使用复选框从表中删除多个数据? 我有以下代码:Php 使用复选框从数据库中删除多个数据,php,database,sql-delete,Php,Database,Sql Delete,如何使用复选框从表中删除多个数据? 我有以下代码: <form id="prefForm" action="coments-del.php" method="post"> <? $result = mysql_query("SELECT * FROM comments"); $myrow = mysql_fetch_array($result); do { $res = mysql_query("SELECT title FROM data WHERE
<form id="prefForm" action="coments-del.php" method="post">
<?
$result = mysql_query("SELECT * FROM comments");
$myrow = mysql_fetch_array($result);
do
{
$res = mysql_query("SELECT title FROM data WHERE id=$myrow[post]");
$row = mysql_fetch_array($res);
printf ("
<tr>
<td>
<input type='checkbox' name='id' value='%s' />
</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
",$myrow["id"],$myrow["id"],$myrow["author"],$myrow["text"]);
}
while ($myrow = mysql_fetch_array($result));
?>
<input name="submit-button" type="submit" value="Delete" />
</form>
正文处是处理删除的代码
<?php
if (isset($id)) {
$result = mysql_query ("DELETE FROM comments WHERE id='$id'");
if ($result == 'true') {echo "Comment Deleted!";}
else {echo "Error: Nothing was deleted!";}
} else {
echo "Unknown Error! Contact Administrator.";
}
?>
我不确定是否理解您的意思,但我通常会将PK保存到数组中,然后执行以下操作:
<?php
//... process your ids (eg. filter out not numerical values) and save into an array
if(count($ids_array)>0){
mysql_query('DELETE FROM comments WHERE id IN ('.implode(',', $ids_array).')');
}
?>
第一步是将复选框命名为数组
<input type='checkbox' name='id[]' value='%s' />
最后将该子句放入where子句中的查询。这里是强制性的“you should use”注释。因此,提交后我必须将您的php代码放入代码中?这个-coments-del.php?是创建帖子的html表单的第一部分,是comments-del.php的第二部分。但是它不起作用。我在comments-del.php中粘贴了最后一部分,但它不起作用。
<input type='checkbox' name='id[]' value='%s' />
$clause="";
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $p)
$clause.="id='$p' OR";
}
$clause=substr($clause,0,-2);