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

时间:2012-09-12 08:32:09

标签: php jquery mysql

我有三页:

1)index.php(从select.php获取结果并将它们放入div#results)

2)select.php(循环进入MySQL表)

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

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

来自MySQL表的

我的问题是我不知道怎么告诉jQuery:listen process delete.php?id = 123&然后

在保留index.php的同时重新加载select.php,而不重定向到delete.php

因此用户实际上看不到会发生什么或者没有看到他被重定向到

另一页。

的index.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>

select.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 />";
    }
?>

delete.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);
?>
谢谢。

1 个答案:

答案 0 :(得分:5)

创建非链接,但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>";