更新ページ、クリックボタン、変更などなしでmysqlデータを表示したい。誰かがどこからでもmysqlにデータを送信すると、更新、変更、クリックなしで送信されたデータを表示できます。データは自動的に私から来ます。私はjquery、ajax、phpを知っていますが、この問題を解決する方法が見つかりません。何かアイデアがあれば、私と共有してください。ありがとう
4 に答える
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または他のjslibでそれを呼び出します。
$(this).get('example.php'), function(data) {
alert(data); // You'll see the json object in here <<
// Then do magic stuff with it.
});
これを行うには、JavaScript関数setinterval(function(){}、ミリ秒単位の時間)を使用してタイマーを設定する必要があります。コードが5秒ごとに実行されるように、5秒間または必要に応じて時間を5000に設定します。
データが自動的に来る場合は、ReverseAjaxまたはjavascript関数setintervalを使用できます。最適なオプションはReverseAjaxを使用することです。
つまり、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()
andをjson_encode()
呼び出します。
そのページに移動すると、データベースの結果が表示されます。これで、jQueryAJAXを使用してそのファイルを呼び出すことができます。間隔を使用すると、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);
});
});
}
出来上がり!
プログラマーが創造的であるという大きな議論をすることができます。これがまさに私のポイントです。言語を知っているからといって、優れた開発者になるわけではありません。それがあなたを助けるならば、一枚の紙を手に入れて、フローグラフか何かを作ってください。