在PHP生成的表中删除按钮,从数据库和页面删除

时间:2016-01-22 16:17:49

标签: javascript php mysql ajax

我试图让这个生成的表上的删除按钮工作(删除数据库记录并从视图中删除该行)。该按钮是通过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如何删除该视图中的那行以及删除数据库记录也很棒。

1 个答案:

答案 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));
?>