我试图让这个生成的表上的删除按钮工作(删除数据库记录并从视图中删除该行)。该按钮是通过for循环中的echo语句生成的。
PHP代码吐出视图:
<?php
//Waitlist for Nobel Floorplans
$sth = $db->prepare("SELECT id, first_name, last_name FROM wlist");
$sth->execute();
$results = $sth->fetchAll();
$wishlistArray[] = null;
foreach ($results as $result) {
echo "<tr><td>".$result['first_name']."</td><td>".$result['last_name']."</td><td><button class=\"delete_class\" id=\"".$result['id']."\" >DELETE</button></td></tr>";
}
?>
这个PHP页面的底部是这个javascript f(x):
<script>
$(".delete_class").click(function(){
var del_id = $(this).attr('id');
$.ajax({
type:'POST',
url:'delete_page.php',
data: {delete_id : del_id},
success: function (data) {
if (data) {
tx.executeSql('DELETE FROM wlist WHERE id = ?', [delete_id], success, error);
}
else { // DO SOMETHING
}
}
});
});
</script>
上面代码的问题在于,网址是&#39; delete_page.php&#34;没有被引用,也没有任何东西被从数据库中删除..而且,&#34;成功:函数(数据)根本就没有被调用..
我有&#34; delete_page.php&#34;在与包含所有上述代码的PHP文件相同的文件夹中。此文件包含以下代码:
<?php
$id = $_POST['delete_id'];
$query = "delete from nobel_waitlist where ID = $id";
?>
知道AJAX如何删除该视图中的那行以及删除数据库记录也很棒。
答案 0 :(得分:0)
另类方式。我不知道executeSql
函数,这就是为什么我给出了一个简单的alert
框。
<script>
$('.delete_class').click(function(){
var del_id= $('.delete_class').val();
$.ajax({url:"delete_page.php?delete_id="+del_id,cache:false,success:function(result){
alert("Data Deleted");
}});
});
</script>
<强> delete_page.php 强>
<?php
$id = $_GET['delete_id'];
$query = "DELETE FROM nobel_waitlist WHERE ID=:id";
$queryResult = $db->prepare($query);
$queryResult->execute(array(':id' => $id));
?>