我想通过我自己的管理页面删除数据库中的一个对象。它的工作方式很简单:当我点击与对象对应的行中的删除按钮时,JS 代码将获取对象的“id”属性并将其传递给 PHP 以执行 sql 删除查询。虽然控制台什么也没有显示,但我的代码不起作用。你介意看一眼我的代码并找出它有什么问题吗?我正在使用 PHP 7。包含所有必需的库。非常感谢!
这是我的代码:
HTML:
<table>
<thead>
<th>ID</th>
<th>Name</th>
</thead>
<tbody>
<?php
include("../connect.php");
$sql = "select * from tbl";
$query = mysqli_query($connect,$sql);
while($data = mysqli_fetch_assoc($query)) {
?>
<tr>
<td class="data-id">
<?php echo $data['id'] ?>
</td>
<td>
<?php echo $data['name'] ?>
</td>
<td>
<img src="delete.png" class="delete-button">
</td>
</tr>
<?php } ?>
</tbody>
</table>
JS:
$(document).ready(function() {
$('.delete-button').click(function() {
var id = $(this).parent().siblings('.data-id').text();
$.ajax({
type: 'post',
url: 'http://localhost/myproject/delete.php',
data: {
"id":id
}
});
});
});
PHP 删除.php
<?php
include("../connect.php");
if(isset($_POST["id"])) {
$id = $_POST["id"];
$sql = "delete from tbl where id=".$id;
$query = mysqli_query($connect,$sql);
}
?>
PHP 连接.php
<?php
$connect = new mysqli("localhost","root","","db");
mysqli_set_charset($connect,'utf8');
?>
最佳答案
您的删除查询语法错误。它应该如下所示,
$sql = "delete from tbl where id=".$id;
从查询中删除'*'
更新:您的代码中还有 2 个错误,希望这些更正可以解决您的问题
问题 1:由于您在 TD 中发送文本作为 id,它会沿着 HTML 中的空格发送 id。所以削减你的值(value)。这是您的查询,
$sql = "delete from tbl where id=".trim($id);
问题 2:这可能是拼写错误。 '$connnect' 变量在 connect.php 文件中应该是 '$connect'。
关于javascript - jQuery/PHP - 将数据从 JS 传递到 PHP 以对数据库执行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43557568/