我正在尝试制作一个小控制面板,以便在数据库中添加和删除行。 我已经使添加部分工作但我在删除时遇到了一些麻烦。
页面显示表格中的每一行,并在其后面添加了删除按钮。
这是我的代码
这是制作表格的代码:
<table class='col-sm-6 fixed_headers'>
<thead>
<tr>
<th>Username</th>
<th>Password</th>
<th>Email</th>
</tr>
</thead>
<tbody style='height:250px; overflow:auto;'>";
while($row = mysqli_fetch_array($result))
{
"<tr class=". $row['ID'] . ">";
echo "<td>" . $row['uname'] . "</td>";
echo "<td>" . $row['pass'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td><input type='submit' class='button' id=".$row['ID'] . " value='del'></td>";
echo "</tr>";
}
echo "</tbody>
</table>";
?>
这是ajax代码:
<script type="text/javascript">
$(document).ready(function(){
$('.button').click(function(){
var btnID = $(this).id;
jQuery.ajax({
type: "POST",
url: "php/delete.php",
data: {id :btnID}
}).done(function(result){
if(result== "succes"){
$('#error').remove();
$('#succes').html("Het account is verwijderd. ");
}else {
$('#error').empty();
$('#error').html("Er is een fout opgetreden.<br/> Probeer opnieuw! ");
}
});
});
});
</script>
这是delete.php:
$id = mysql_real_escape_string($_POST['id']);
$delete = "DELETE FROM `xxx`.`xxx` WHERE `xxx`.`ID` = '$id'";
$del = mysql_query($delete);
if ($del)
{
echo "succes";
}
else
{
echo "error";
// close connection
mysql_close();
}
?>
当我按下删除按钮时,我确实收到了成功消息,但该行尚未删除我的数据库。
我一直试图解决这个问题,但我似乎无法使其发挥作用
(遗漏了我的数据库连接代码)
答案 0 :(得分:2)
我对你的建议是,永远不要从你的数据库中删除。
相反,在表中添加一个布尔变量,默认设置为“1”,每当你想“删除”一行时,将你的bool设置为'0'。
当您查询要在页面上显示的表格时,请查询WHERE boolVariable ='1'。
出于安全原因,这是最好的方法,并确保从您用于连接数据库的Db用户中删除“删除”权限
还有一件事,停止使用mysql_query,并使用mysqli_query,因为不推荐使用mysql_
来源:The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
答案 1 :(得分:1)
将$(this).id更改为$(this).attr(&#39; id&#39;)修复它