php - 删除时从 MySQL 数据库实时选择/显示/重新加载数据

标签 php jquery mysql

我有三个页面:

1)index.php(从select.php中获取结果放入div#result)

2)select.php(循环到MySQL的表中)

3)delete.php(获取user_id作为参数并将其从MySQL的表中删除)。

我的目标是:用户点击删除后!显示更新的结果(更改/删除后)

来自 MySQL 的表

我的问题是我不知道如何告诉 jQuery:listen process delete.php?id=123 & then

在不重定向到 delete.php 的情况下保留在 index.php 中的同时重新加载 select.php

所以用户实际上看不到发生了什么,或者看不到他被重定向到

另一页。

索引.php

<html>
    <title>a</title>
    <head>
        <script type="text/javascript" src="jquery-1.8.0.js"></script>
        <script type="text/javascript">
            $(function() {
                $('#result').load('select.php');
            });
        </script>
    </head>
    <body>
        <div id="result"></div>
    </body>
</html>

选择.php

<?php
    $con = mysql_connect("localhost","root","123");
    if (!$con) { die('Could not connect: '); }
    mysql_select_db("test", $con);

    $result = mysql_query("select * from users");   

    while($rs3 = mysql_fetch_array($result)) {
        echo $rs3["user_email"]." ".$rs3["user_name"]." ";
        echo "<a href=delete.php?id=".$rs3[user_id].">Delete</a>";
        echo "<br />";
    }
?>

删除.php

<?php
    $con = mysql_connect("localhost","root","123");
    if (!$con) { die('Could not connect: '); }
    mysql_select_db("test", $con);

    $id = mysql_escape_string($_GET["id"]);
    $delete = "delete from users where user_id='{$id}'";
    @mysql_query($delete);
?>

谢谢。

最佳答案

创建的不是链接,而是用于删除的 AJAX 查询。让 JQuery 调用链接。例如:

<script type="text/javascript">
$(function() {

    function refreshContent(){
        $('#result').load('select.php');    
    }

    $('#result').on('click','a',function(event){
        // prevent going by link `href`
        event.preventDefault();

        // get deleting row id
        var ids = $(this).data('ids');

        // make AJAX call for delete
        $.get("delete.php", { id: ids},function(data){
            // on success - refresh tcontent
            refreshContent();
        });

        return false;
    });

    // making content load on start
    $(document).ready(function(){
        refreshContent();
    });

});
</script>

您还必须添加 ids<a> .在这一行中:

echo "<a href='delete.php?id=".$rs3[user_id]."' data-ids='".$rs3[user_id]."'>Delete</a>";

关于php - 删除时从 MySQL 数据库实时选择/显示/重新加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12384121/

相关文章:

php - mysqli bind_param 变量数量与准备好的语句中的参数数量不匹配

php - 单选按钮在 10 秒后禁用

php - 在二对多关系中使用两个表或使用三个表和一个数据透视表

javascript - jQuery,什么是最好的,将整个站点或每个页面的所有绑定(bind)都放在一个文件中?

php - jquery ui按钮在ajax调用后不出现

php - 几个 PHP/MySQL 问题

php - Smarty PHP 与 AngularJS 冲突

javascript - 调整 iframe 的大小以适应多个页面上的内容

php - 在 php 中查询或更改列名?

php - 为什么这个查询没有正确显示与最早日期相关的记录?