php - 使用PHP从mysql表中使用复选框删除多行
问题描述
我希望通过复选框选择一行或多行时将其删除。但即使我选择它似乎也不会删除任何东西。
这是我想出的:
<?php
$con=mysqli_connect("localhost","root","","annualdb");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM asean_japan WHERE agency='Air'");
if(isset($_POST['delete'])) {
$checkbox = $_POST['checkbox'];
for($i=0;$i<count((array)$checkbox);$i++) {
$del_id = $checkbox[$i];
$sql = "DELETE FROM asean_japan WHERE id='$del_id'";
$result = mysqli_query($con,$sql);
}
// if successful, refresh same page
if($result) {
echo "<meta http-equiv=\"refresh\" content=\"0;URL=index.php\">";
}
}
?>
<table class='page'>
<tr>
<th>Select</th>
<th>Agency</th>
<th>FileName</th>
<th>FileType</th>
<th>Date Received</th>
<th>Action</th>
</tr>
<?php
while($row = mysqli_fetch_array($result))
{
?>
<tr>
<td align='center' bgcolor='#FFFFFF'><input name='checkbox[]' type='checkbox' value='<?php echo $row['id']; ?>'></td>
<td><?php echo $row['agency']; ?></td>
<td><?php echo $row['filename']; ?></td>
<td><?php echo $row['filetype']; ?></td>
<td><?php echo $row['date']; ?></td>
<td><a target='_blank' href='../annual/indicators/" <?php echo $row['filename']; ?>"'>OPEN</a></td>
</tr>
</table>
<?php
}
?>
<tr>
<td colspan="4" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" value="Delete"></td>
</tr>
<?php
mysqli_close($con);
?>
我的复选框或 input=delete 是否有问题?
解决方案
首先,您需要在 while 循环之外关闭 table 标记,然后您需要检查 onclick 您的数据发布或不定位 url单击此处,这将对您有所帮助
推荐阅读
- oracle - 如何将 Powerbuilder Query 转换为 Oracle
- python - NumPy:我可以从字典数组中创建一个仅包含值的数组吗?
- node.js - 在 node.js 中的同一个文件句柄上调用 readFile 两次?
- python - 如何从 PySpark DataFrame 中减去 N 个特定行?
- python - numpy.add.reduce 中的断言
- django - django-coverage 计算覆盖率是否存在错误?
- linux - Bash & awk:尝试在 awk 中使用 bash 脚本争论时出现分段错误
- javascript - Javascript 在事件处理程序中定义一个函数
- excel - 如何在 Excel 中的 sumif 或 sumifs 中引用多个结构化表格
- javascript - 如何使用带有纬度/经度的 TurfJS 进行地理编码?