基本的に、すべての新しいデータをデータベースにプッシュする外部 API のライブ フィードを Web サイトにまとめようとしています。
PHPファイルを取得し、データベースに追加された新しいコンテンツを取得するために使用している現在のHTMLコードは次のとおりです
$min_id_result = $DB->select("SELECT `id` FROM `api_media` ORDER BY `id` DESC",true);
//Basically all this is doing is returning the latest ID in the database
var Id = "<?=$last_id_result['id'];?>";
function waitForPics() {
$.ajax({
type: "GET",
url: "/ajax.php?id="+Id,
async: true,
cache: false,
success: function(data){
var json = eval('('+ data +')');
var img = json['img'];
if(json['img'] != "") {
$('<li/>').html('<img src="'+img+'" />').appendTo('#container')
}
Id = json['id'];
setTimeout(waitForPics,1000);
},
});
}
$(document).ready(function() {
waitForPics();
});
データベースの処理に使用しているajax.phpファイルは次のとおりです
$min_id_result = $DB->select("SELECT * FROM `api_media` ORDER BY `id` DESC",true);
$next_min_id = $min_id_result['id'];
$last_id = $_GET['id'];
while($next_min_id <= $last_id) {
usleep(10000);
clearstatcache();
}
$qry_result = $DB->select("SELECT * FROM `api_media` ORDER BY `id` DESC");
$response = array();
foreach($qry_result as $image) {
$response['img'] = $image['image'];
$response['id'] = $image['id'];
}
echo json_encode($response);
私が抱えている問題は、リクエストからデータが返されないことです。私にはすべて正しいように見えますが、明らかに開発者の第2の目の方が良い場合があります