[問題] 關於setInterval的問題。

作者: crazyni68 (めがね)   2016-01-02 01:07:26
大家好,目前我有一個疑惑,如下。
<script>
$(document).ready(
function() {
setInterval(function() {
var randomnumber = Math.floor(Math.random() * 100);
$('#show').text(
'<?php
include "../db_connect.php";
$q = "SELECT * FROM xxx Where id = 100";
$r = mysql_query($q);
$arr = mysql_fetch_array($r);
echo $arr["name"];
?>'
+ randomnumber);
}, 3000);
});
</script>
<div id="show" align="center">我等等會被替換字</div>
我這邊想問的是第一次進入該網址後,
id 為 show 的 div 裡的字確實在3秒後會被script裡的產生的字替換掉。
註:我也成功抓到資料庫的"name"值。
變換完後的字 舉例=> 林先生56
3秒後
再次變換的字 舉例=> 林先生12
那接著我直接到phpmyadmin裡修改該 table 為 xxx 且 欄位 id 為 100 的 name 值。
改完後,怎麼還是只有數字在替換而已,但是"林先生"卻沒替換成我所改的值呢?
照理說不是應該會重複執行function裡的動作嗎?
包括每3秒連資料庫再次抓值。
這邊有點不太清楚,還煩請前輩指點,謝謝。
作者: eight0 (欸XD)   2016-01-02 04:09:00
PHP 在伺服器端執行,JavaScript 在瀏覽器執行瀏覽器只會收到伺服器傳來的結果。你看網頁原始碼應該會得到 '林先生' + randomnumber。
作者: crazyni68 (めがね)   2016-01-02 11:27:00
wow,真的耶!就是 '林先生' + randomnumber了。那我可能要用另外方法刷新資料庫的東西了...原本想說像Line那樣專屬2人聊天室,只要DB有增加訊息然後該網頁的聊天區塊就刷新,然後就會取到最新訊息XD謝謝eight0大大的解惑。這樣的話好像就要用ajax來做了...

Links booklink

Contact Us: admin [ a t ] ucptt.com