当前位置: 首页 > 面试题库 >

使用jQuery Ajax删除mySQL表行

翁良弼
2023-03-14
问题内容

我试图做到这一点,所以当我单击一个跨度图标时,它将把article_id发送到删除我的文章的php sql页面,我正在使用jQuery
Ajax发送id,该id在jQuery端可以发送http发布请求完成后,我的表行仍然存在,任何人都可以查看我的代码是否有问题,在此先感谢您!

    <?php
        $sql_categories = "SELECT art_id, art_title, art_company, art_cat_id, art_sta_id, art_date, art_rating, art_price, cat_id, cat_name, sta_id, sta_name
                FROM app_articles LEFT JOIN app_categories
                ON app_articles.art_cat_id = app_categories.cat_id
                LEFT JOIN app_status
                ON app_articles.art_sta_id = app_status.sta_id
                ORDER BY art_order ASC";

            if($result = query($sql_categories)){
                $list = array();

                while($data = mysqli_fetch_assoc($result)){
                    array_push($list, $data);
                }

                foreach($list as $i => $row){ 
                ?>
                    <div class="row" id="page_<?php echo $row['art_id']; ?>">
                        <div class="column one">
                            <span class="icon-small move"></span>
                            <a href="edit-article.php?art_id=<?php echo $row['art_id']; ?>"><span class="icon-small edit"></span></a>
                            <span id="<?php echo $row['art_id']; ?>" class="icon-small trash"></span>
                        </div>
                        <div class="column two"><p><?php echo $row['art_title']; ?></p></div>
                        <div class="column two"><p><?php echo $row['art_company']; ?></p></div>
                        <div class="column two"><p><?php echo $row['cat_name']; ?></p></div>
                        <div class="column one"><p><?php echo $row['art_date']; ?></p></div>
                        <div class="column one"><p><?php echo $row['art_rating']; ?></p></div>
                        <div class="column one"><p><?php echo $row['art_price']; ?></p></div>
                        <div class="column one"><p><?php echo $row['sta_name']; ?></p></div>
                        <div class="column one"><a href=""><span class="icon-small star"></span></a></div>
                    </div>
                <?php
                }
            }
            else {
                echo "FAIL";
            }
        ?>


jQuery

        $(document).ready(function(){

                $(".trash").click(function(){

            var del_id = $(this).attr('id');

            $.ajax({
                type:'POST',
                url:'ajax-delete.php',
                data: 'delete_id='+del_id,
                success:function(data) {
                    if(data) {

                    } 
                    else {

                    }   
                }

            }); 
        });

    });


PHP mySQL Statement

    if(isset($_POST['delete_id'])) {

        $sql_articles = "DELETE FROM app_articles WHERE art_id = ".$_POST['delete_id'];

        if(query($sql_articles)) {
            echo "YES";
        }
        else {
            echo "NO";
        }
    }
else {
    echo "FAIL";
}


?>

问题答案:

您的行仍然存在的原因,因为AJAX调用不会刷新页面。如果要删除行,则必须执行以下操作:

假设您的跨度点击事件在行内

 $(".trash").click(function(){
   var del_id = $(this).attr('id');
   var rowElement = $(this).parent().parent(); //grab the row

   $.ajax({
            type:'POST',
            url:'ajax-delete.php',
            data: {delete_id : del_id},
            success:function(data) {
                if(data == "YES") {
                   rowElement.fadeOut(500).remove();
                } 
                else {

                }   
            }
    });

更换:

            data: 'delete_id='+del_id,

与:

            data: delete_id : del_id,


 类似资料:
  • 我想从我的用户表中删除一行当用户单击按钮时,用户需要登录并删除自己的帐户。 我回显了$user\u id,它显示“4”,这是登录用户的正确id,因此user\u id=$user\u id 这是网页我有它举行的按钮我要删除用户行在数据库

  • 问题内容: 列出以下MySql命令之间的区别。 删除表 tablename ; 截断表 tablename ; 从 表名 中删除1; 另外,请根据您的经验告诉我每种产品的典型使用场景。 问题答案: 在此之后,它 消失了 。没有桌子了。没有更多数据。 当您不再需要该表时,请使用它。 此后,该表为空,并且(重要地)自动递增键被重置为1。从字面上看,这就像拥有一个全新的表。 当您只需要一个空表时,请使用

  • 问题内容: 我有两个表,一个用于工作截止日期,一个用于描述工作。每个作业可以具有一个状态,某些状态表示必须从另一个表中删除作业的截止日期。 我可以轻松地通过以下方式满足我的标准的工作/最后期限: (不属于表) 但是,当我想从中删除这些行时,MySQL会引发错误。我的查询是: MySQL错误什么也没说: 您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’LEFT

  • 主要内容:基本语法,删除表的实例在MySQL 数据库中,对于不再需要的数据表,我们可以将其从数据库中删除。 在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。 下面我们来了解一下 MySQL 数据库中数据表的删除方法。 基本语法 使用 DROP TABLE 语句可以删除一个或多个数据表,语法格式如下: DROP TABLE [IF EXISTS] 表名1 [ ,表名2,

  • 前面章节介绍了前面小节介绍了如何新建表、设计表、修改表结构,本小节介绍如何删除数据表。 1.删除数据表 删除数据表的命令如下: DROP TABLE new_student; 我们使用这条命令将 item_name 数据库中的 new_student数据表删除掉,执行结果如下图: 2. 小结 本小节介绍了如何删除数据表,需要注意的是实际业务过程中,如果需要删除数据表一定要谨慎,删除数据表之前最

  • 在 MySQL 数据库中,可以使用 DROP USER 语句删除用户,也可以直接在 mysql.user 表中删除用户以及相关权限。 1. 使用 DROP USER 语句删除普通用户 使用 DROP USER 语句删除用户的语法格式如下: DROP USER <用户1> [ , <用户2> ]… 其中,用户用来指定需要删除的用户账号。 使用 DROP USER 语句应注意以下几点: DROP US