我想显示我的mysql数据没有刷新页面,点击按钮,更改等。如果有人从任何地方提交mysql数据,那么我可以看到他/她提交的数据,无需刷新,更改,单击。数据来自我自动。我知道jquery,ajax,php但我找不到解决这个问题的方法。如果您有任何想法,请与我分享。谢谢
答案 0 :(得分:1)
制作PHP文件
使用example.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.
});
答案 1 :(得分:1)
为了做到这一点,你需要使用JavaScript函数setinterval(function(){}设置计时器,时间以毫秒为单位)。将时间设置为5000,持续5秒或根据需要设置,以便代码每5秒运行一次。
答案 2 :(得分: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()
和json_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);
});
});
}
瞧!
我可以进行大量讨论,程序员 创意。这完全是我的观点。了解一种语言并不能使你成为一名优秀的开发者。如果它可以帮助你,拿一张纸,制作一个流图或其他东西。
答案 3 :(得分:0)
你可以使用Reverse Ajax或javascript函数setinterval,如果数据自动最佳选项是使用Reverse Ajax