PHP:删除选中的行
首先我要提到的是,我搜索过谷歌、stackoverflow和其他任何地方,也尝试过使用论坛上的脚本编写自己的脚本,但都不管用。我完全卡住了 所以,我所要做的就是编写一个脚本,从MySQL表中删除选中的行。以下是我在PHP文件中编写的HTML:PHP:删除选中的行,php,mysql,checkbox,Php,Mysql,Checkbox,首先我要提到的是,我搜索过谷歌、stackoverflow和其他任何地方,也尝试过使用论坛上的脚本编写自己的脚本,但都不管用。我完全卡住了 所以,我所要做的就是编写一个脚本,从MySQL表中删除选中的行。以下是我在PHP文件中编写的HTML: <tr class="noP"> <td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="'.$row["PID
<tr class="noP">
<td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="'.$row["PID"].'"/></td>
<td class="id">'.$row['PID'].'</th>
<td>'.$row["name"].'</th>
<td>'.$row["surname"].'</th>
<td>'.$row["pcode"].'</th>
<td class="address">'.$row["address"].'</th>
<td class="email">'.$row["email"].'</th>
<td>'.$row["phone"].'</th>
<td class="education">'.$row["education"].'</th>
<td class="remarks">'.$row["remarks"].'</th>
</tr>
“.$row['PID']”
“.$row[“name”]”
“.$row[“姓氏”]”
“.$row[“pcode”]”
“.$行[“地址”]”
“.$row[“电子邮件”]”
“.$row[“电话”]”
“.$row[“教育”]”
“.$row[“备注”]”
在这里,$row=mysql\u fetch\u assoc($qParts)代码>,所以这个数组只是MySQL数据库中字段值的收集器
基本上,我所要做的只是一个表,其中列出了所有参与者,并且能够删除选定的参与者
我将非常感谢提供的任何帮助。谢谢大家! 这将有助于您:
foreach($_REQUEST['checkbox'] as $val)
$delIds = intval($val);
$delSql = implode($delIds, ",");
mysql_query("DELETE FROM table WHERE PID IN ($delSql)");
因此,它从$\u GET
/$\u POST
中获取输入数组,对其进行清理(一点),然后将其内爆以获得ID列表(例如5、7、9、13)。然后,它将其输入到一个SQL语句中,使用IN
操作符匹配这些ID
请注意,您应该使用准备好的语句或类似的语句来执行此操作。虽然已经有一段时间了,所以我不能马上把它们写下来,但这应该给你一个要点
要使用PDO执行此操作,请查看此处。这有点复杂,因为您需要动态创建占位符,但它应该也能正常工作
这将帮助您:
foreach($_REQUEST['checkbox'] as $val)
$delIds = intval($val);
$delSql = implode($delIds, ",");
mysql_query("DELETE FROM table WHERE PID IN ($delSql)");
因此,它从$\u GET
/$\u POST
中获取输入数组,对其进行清理(一点),然后将其内爆以获得ID列表(例如5、7、9、13)。然后,它将其输入到一个SQL语句中,使用IN
操作符匹配这些ID
请注意,您应该使用准备好的语句或类似的语句来执行此操作。虽然已经有一段时间了,所以我不能马上把它们写下来,但这应该给你一个要点
要使用PDO执行此操作,请查看此处。这有点复杂,因为您需要动态创建占位符,但它应该也能正常工作
我想我可以帮你。在我的学期项目中,我也遇到了同样的问题。这个问题可以单独使用HTML和PHP来解决
我假设PID是表中的主键。这里的技巧是将整个表放在一个窗体中,使其看起来像这样:
<form action="/*NAME OF THIS PAGE HERE*/.php" method="POST">
<?php
if(isset($_POST['delete'])) //THE NAME OF THE BUTTON IS delete.
{
foreach ($_POST["checkbox"] as $id){
$de1 = "DELETE FROM //table-name WHERE PID='$id'";
if(mysqli_query($conn, $de1))
echo "<b>Deletion Successful. </b>";
else
echo "ERROR: Could not execute";
}
}
if(isset($_POST['delete'])){
echo"<b>Please make a selection to complete this operation.</b>";
}
?>
</br>
<!-- below you will see that I had placed an image as the delete button and stated its styles -->
<button type="submit" name="delete" value="delete" style="float:right;border:none; background:none;">
<img style="width:55px; height:55px;margin-left:10px; margin-bottom:6px; float:left;" src="images/del.png">
</button>
<table>
<thead>
<tr>
<th>#</th>
<th>PID</th>
<th>NAME</th>
<th>SURNAME</th>
<!--REST OF THE TABLE HEADINGS HERE -->
</tr>
<?php $fqn="SELECT * FROM //table-name here;
$fqn_run=mysqli_query($conn,$fqn);
while($row=mysqli_fetch_array($fqn_run)):?>
</thead>
<tbody>
<tr class="noP">
<td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="<?php echo $row["PID"];?>"></td>
<td><?php echo $row['PID'];?></td>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["surname"];?></td>
<!-- REST OF THE ROWS HERE -->
</tr><?php endwhile;?>
</tbody>
</table>
</div>
</div>
</form>
我想我可以帮你。在我的学期项目中,我也遇到了同样的问题。这个问题可以单独使用HTML和PHP来解决
我假设PID是表中的主键。这里的技巧是将整个表放在一个窗体中,使其看起来像这样:
<form action="/*NAME OF THIS PAGE HERE*/.php" method="POST">
<?php
if(isset($_POST['delete'])) //THE NAME OF THE BUTTON IS delete.
{
foreach ($_POST["checkbox"] as $id){
$de1 = "DELETE FROM //table-name WHERE PID='$id'";
if(mysqli_query($conn, $de1))
echo "<b>Deletion Successful. </b>";
else
echo "ERROR: Could not execute";
}
}
if(isset($_POST['delete'])){
echo"<b>Please make a selection to complete this operation.</b>";
}
?>
</br>
<!-- below you will see that I had placed an image as the delete button and stated its styles -->
<button type="submit" name="delete" value="delete" style="float:right;border:none; background:none;">
<img style="width:55px; height:55px;margin-left:10px; margin-bottom:6px; float:left;" src="images/del.png">
</button>
<table>
<thead>
<tr>
<th>#</th>
<th>PID</th>
<th>NAME</th>
<th>SURNAME</th>
<!--REST OF THE TABLE HEADINGS HERE -->
</tr>
<?php $fqn="SELECT * FROM //table-name here;
$fqn_run=mysqli_query($conn,$fqn);
while($row=mysqli_fetch_array($fqn_run)):?>
</thead>
<tbody>
<tr class="noP">
<td class="check"><input class="checkbox" name="checkbox[]" type="checkbox" value="<?php echo $row["PID"];?>"></td>
<td><?php echo $row['PID'];?></td>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["surname"];?></td>
<!-- REST OF THE ROWS HERE -->
</tr><?php endwhile;?>
</tbody>
</table>
</div>
</div>
</form>
你能看看我的超级棒评论会发生什么吗:$row[“comments”]=“alert”(“xss-yo”);”如果我没有mysql\u real\u escape\u string()之类的东西,它会给我一条简单的警告消息。非常funny@ArtemUshakov-你想要htmlspecialchars()
来做这个。嗯,是的。不要用MRE来做这件事……是的,我想我有特别的卡片()。这一切都在另一个文件中的我的函数中,所以我真的不记得了:)你能检查一下我超级棒的评论会发生什么吗:$row[“comments”]=“alert”(“xss-yo”)如果我没有mysql\u real\u escape\u string()之类的东西,它会给我一条简单的警告消息。非常funny@ArtemUshakov-你想要htmlspecialchars()
来做这个。嗯,是的。不要用MRE来做这件事……是的,我想我有特别的卡片()。这一切都在另一个文件中的函数中,所以我真的不记得了:)