[问题] 关于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