[英]PHP: Delete checked rows
我首先要提到的是,我已經搜索過Google和stackoverflow以及其他任何地方,並嘗試使用在論壇中提供的腳本並編寫我自己的腳本,但沒有任何方法可以幫助我。 我完全卡住了。
因此,我嘗試做的就是編寫一個腳本,從MySQL表中刪除已檢查的行。 這是我在PHP文件中編寫的HTML:
<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 = mysql_fetch_assoc($qParts);
,所以這個數組只是MySQL DB中字段值的收集器。
基本上,我嘗試做的只是一個表,所有參與者都列出了能夠刪除所選參與者的表。
我非常感謝您提供的任何幫助。 謝謝!
這應該可以幫到你:
foreach($_REQUEST['checkbox'] as $val)
$delIds = intval($val);
$delSql = implode($delIds, ",");
mysql_query("DELETE FROM table WHERE PID IN ($delSql)");
因此,從$_GET
/ $_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>
希望這對你有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.