用php和ajax无法删除记录

时间:2017-03-28 10:33:07

标签: php jquery html ajax

我只是尝试使用php和ajax从表中删除其行ID,但是当我点击按钮时它既没有显示错误也没有执行操作。

这是我的delete.php代码:

<?php
session_start();
include 'db.php';

if(isset($_GET['name'])){
$user = $_GET['name'];

$query = mysqli_query($con, "SELECT * FROM login WHERE username='$user'") or die (mysqli_error());

$result = mysqli_num_rows($query);
while($row = mysqli_fetch_array($query)){

$_SESSION['user'] = $row['username'];
}
}

$query = mysqli_query($con, "SELECT * FROM pm WHERE touser = '".$_SESSION['user']."' ORDER BY pmdate DESC" ) or die (mysqli_error());
$result = mysqli_num_rows($query);

while($row = mysqli_fetch_array($query)){
$id = $row['id'];

$delquery = mysqli_query($con, "DELETE * FROM pm WHERE id ='$id'") or die (mysqli_error());
$delresult = mysqli_num_rows($delquery);

}
?>

这里是html的ajax和删除代码

<a href="home.php?name='.$_SESSION['user'].'-delid='.$id.'" type="button" class="btn btn-danger btn-sm" id="delete"></a>

<script>
$("#delete").click(function() {
$.ajax({
type: "POST",
url: "delete.php",
success: function(response){                    
$("#messages").html(response); 
}
});
});
</script>
<div id="messages"></div>

任何人都有任何想法吗?

3 个答案:

答案 0 :(得分:0)

更改您的查询

- &GT;你的"DELETE * FROM pm WHERE id ='$id'"

- &GT;纠正"DELETE FROM pm WHERE id ='$id'"

你发送POST方法真正的AJAX,并在PHP代码中编写GET,更改它。

答案 1 :(得分:0)

您的代码中几乎没有问题 1.您没有向delete.php页面发送任何参数。请将记录ID发送到delete.php页面 2.从DELETE查询中删除* 3.您在HTML锚标记中添加PHP变量而不使用PHP标记。你需要更正链接
4.您需要在函数

中添加event.preventDefault()

答案 2 :(得分:0)

你设置 - &gt;键入:“POST”并在链接中使用GET方法 然后你用 - &gt; $ user = $ _GET ['name']; +您是否尝试在查询并回显查询之前回显GET / POST变量? +我猜您没有向您的页面发送任何内容...... +不要在DELETE查询中使用*