0
對於項目形式學校,我想在我的網站上創建一個實時比分。現場比分必須顯示姓氏(姓名)姓氏(achternaam)和球員得分。使用jQuery/AJAX顯示php數據
我做了一個php文件(feed.php),它執行一個sql查詢從數據庫中選擇10個值(2個表合併) Feed.php將編碼和數組(json_encode)。這是工作,當我打印結果。
但是,我不得不從index.html調用feed.php與jquery/ajax。我想每秒刷新一次分數,看看是否有人得到更好的分數。
我設法得到的東西顯示,但我只看到「未定義」,它不斷加載。所以一分鐘後我得到了60分「分數」。
我在做什麼錯了,怎麼才能在頁面上顯示10條記錄?
非常感謝提前!
這是我使用的代碼:
的index.html:
<script>
$.get("feed.php", function(data) {
$("#score")
.append("<tr><td>" + data.voornaam + "</td><td>" + data.achternaam + "</td><td>" + data.score +"</td></tr>").fadeIn("slow");
}, "json")
</script>
feed.php:
$sql = "SELECT
game.userID,
game.score,
roboshooter.id,
roboshooter.voornaam,
roboshooter.achternaam
FROM
game, roboshooter
WHERE
game.userID = roboshooter.id
ORDER BY game.score DESC LIMIT 10
";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_assoc($result))
{
$return = json_encode(array(
"voornaam" => $row['voornaam'],
"achternaam" => $row['achternaam'],
"score" => $row['score']
));
print_r($return);
}
朱
謝謝你的反應。 我認爲我仍然在做錯事。用你的答案,我得到57行顯示「未定義」3次。 我試圖改變feed.php到以下內容: '$ return = array();同時($ row = mysqli_fetch_assoc($ result)) { $ return ['voornaam'] = $ row ['voornaam']; $ return ['achternaam'] = $ row ['achternaam']; $ return ['score'] = $ row ['score']; } echo json_encode($ return);' 我的index.html文件沒有改變,但feed.php只顯示最後一個數據庫記錄。 你知道我在做什麼錯嗎? 在此先感謝! – Jules 2014-10-31 12:27:17
您在每次迭代中覆蓋$ return。您需要爲每行添加一個對象。使用我的答案中的代碼並在循環後面添加'var_dump($ return);'來查看未定義索引的來源。 – 2014-10-31 12:34:38