所以我正在處理JavaScript/php聊天室。除了它更新我的div的內容之外,所有的工作都是有效的(這個工作只有一次,但之後它不會在新的消息被放入數據庫時不斷更新它)。這裏是我的代碼:自動更新聊天室
JavaScript部分:
<script language=javascript type='text/javascript'>
setInterval(function() {
var arrayOfObjects = <?print_r(getChatArray());?>;
var chat = "";
for (var i = 0; i < arrayOfObjects.length; i++) {
var object = arrayOfObjects[i];
chat += "["+object.date+"]"+object.op+": " + object.msg + "</br>";
}
$('#chat').html(chat);
}, 10);
</script>
PHP的一部分:
<?php
function getChatArray() {
$result = mysql_query("SELECT * FROM shouts ORDER BY id DESC");
$to_encode = array();
$count = mysql_num_rows($result);
$size = 0;
if($count > 0) {
while($row = mysql_fetch_assoc($result)) {
$to_encode[$size]['id'] = $row['id'];
$to_encode[$size]['msg'] = $row['msg'];
$to_encode[$size]['op'] = $row['op'];
$to_encode[$size]['date'] = $row['date'];
$size += 1;
}
} else {
return "None";
}
return json_encode($to_encode);
}
?>
任何想法,爲什麼不持續更新呢?
謝謝。
作爲一個方面說明,在你的代碼中也有不少不好的做法。 – BenM 2012-04-11 13:54:07
我想你錯過了客戶端和服務器端的區別 – 2012-04-11 13:55:12
我剛剛開始學習js,所以我不希望我的代碼有良好的做法直接蝙蝠。 – 2012-04-11 13:56:09