这就是我想要的,在名为 input.php 的 PHP 页面上,用户通过 html 表单提交用户名。这将存储到 MYSQL 数据库中。有一个名为 results.php 的页面查询 MYSQL 数据库中的所有用户名。
我需要发生的是,每隔 5 秒左右,一些 jquery 代码(可能是 getJSON)将从 results.php(同一页面)中获取一个 JSON 字符串。这个 JSON 字符串可能会随着用户在 input.php 页面上添加更多用户名而更新。
这是 input.php 文件
        <form name="input" action="<?php $_SERVER['PHP_SELF']?>" method="post">
        Usernames: <input type="text" name="usernames" />
         <input type="submit" value="Submit" name="submit" />
    </form>
    <?php
    if(isset($_POST['submit'])) {
        $link = mysql_connect('', '', '');
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        $db_selected = mysql_select_db('', $link);
        if (!$db_selected) {
            die ('Can\'t use  : ' . mysql_error());
        }
        $result = mysql_query("INSERT INTO users(user_name)             VALUES('".$_POST['usernames']."')");
        if (!$result) {
            die('Invalid query: ' . mysql_error());
        }
    }
    ?>
这是 results.php 文件
    <script
        type="text/javascript" src="jquery-1.7.1.min.js"></script>
    <?php
    $link = mysql_connect('localhost', 'root', '');
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    $db_selected = mysql_select_db('test', $link);
    if (!$db_selected) {
        die ('Can\'t use test : ' . mysql_error());
    }
    $result = mysql_query("SELECT user_name FROM users");
    if (!$result) {
        die('Invalid query: ' . mysql_error());
    }
    $names = array();
    while ($row = mysql_fetch_assoc($result)) {
        foreach ($row as $key => $val) {
            $names[][$key] = $val;
        }
    }
    echo json_encode($names);
    ?>
    <script type="text/javascript"> 
        $.getJSON("http://localhost/test/results.php", function(json){
            alert("JSON Data: " + json);
        });
    </script>
    <div></div>
我被困在要放什么 jquery 上,或者即使我做得正确。最终结果就像 Gmail 一样,您无需刷新页面即可收到电子邮件。但是我的系统会每 5 秒从数据库中检索一次用户名,而无需刷新页面。我已经阅读了有关 getJSON 方法的信息,但我完全不了解它,所以我可能需要一些非常深入的解释。如果我以错误的方式实现这一目标,请告诉我并告知我如何实现这一目标的良好做法。
我在我的浏览器中尝试这个 url,除了来自 php 代码的回显 JSON 字符串之外没有任何结果。
这是我的 JSON 字符串
[{"user_name":"matt"},{"user_name":"matt"},{"user_name":"peter"},{"user_name":"jim"},{"user_name":"sam"} ]