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