-2

我想在没有刷新页面、单击按钮、更改等的情况下显示我的 mysql 数据。如果有人从任何地方在 mysql 上提交数据,那么我可以看到他/她提交的数据没有刷新、更改、单击。数据自动来自我。我知道 jquery、ajax、php,但我没有找到解决这个问题的任何方法。如果您有任何想法,请与我分享。谢谢

4

4 回答 4

1

为此,您需要使用 JavaScript 函数 setinterval(function(){}, time in millisecond) 设置计时器。将时间设置为 5000 5 秒或根据需要设置,以便代码每 5 秒运行一次。

于 2012-12-17T10:41:52.103 回答
1

制作一个 PHP 文件

例子.php

// connect sql && make query

$dataArray = array();
// After you connected and prepared the query show it
while($fetch = mysql_fetch_array($query) {
    $dataArray[] = $fetch;
}

// Put data in a json object for JS
$dataArray = json_encode($dataArray);

// Echo it
echo $dataArray;

并使用 jQuery 或任何其他 js lib 调用它。

$(this).get('example.php'), function(data) {
    alert(data); // You'll see the json object in here <<
    // Then do magic stuff with it.
});
于 2012-12-17T10:40:47.690 回答
0

所以你知道 jQuery、AJAX 和 PHP,但你不知道如何更改数据?至少尝试有创意...

首先,您需要一个获取数据库数据的 PHP 页面。

header('Content-Type: application/json');

require 'config.php';

$json = array(
    'data'  => array()
);

$result = mysql_query('SELECT * FROM `my_table`');

while($row = mysql_fetch_assoc($result)) {
    array_push($json['data'], $row);
}

echo json_encode($json);

您可能会注意到,我喜欢将数据作为 JSON 传输 - 因此使用header()andjson_encode()调用。

如果您转到该页面,您将看到来自数据库的结果。现在您可以使用 jQuery AJAX 调用该文件。如果使用间隔,则可以每 x 秒获取一次新数据。

setInterval(fetchData, 10000); // get data every 10 seconds

function fetchData() {
    $.getJSON('myfile.php', function(data, textStatus, xhr) {
        $.each(data.data, function(index, value) {
            // do something with every row

            console.log(value.id, value.content, value.date);
        });
    });
}

瞧!


我可以就程序员创造力进行大量讨论。这正是我的观点。了解一门语言并不能使您成为一名优秀的开发人员。如果它对您有帮助,请拿一张纸并制作流程图或其他东西。

于 2012-12-17T10:43:41.090 回答
0

您可以使用 Reverse Ajax 或 javascript 函数 setinterval ,如果数据自动出现,最好的选择是使用 Reverse Ajax

于 2012-12-17T10:57:37.843 回答