第一步,引入jquery,各樣的版本都有,搜一下,下載下來
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)永順免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
script?type="text/javascript"?src="images/jquery-1.4.4.min.js"/script
第二步?局部異步刷新的HTML添加ID,比如
div?id="shuaxin"/div//需要刷新的內(nèi)容
a?href="#"?onclick="Refresh()"刷新/a//點擊刷新
第三步?設(shè)置路徑,參數(shù)等
script
function?Refresh()
{
$.ajax({
async:?false,
url:?"a.php",//PHP文件的地址
type:?"post",//get和post發(fā)送方式
data:?{?id:"1",cid:"2"},//參數(shù),沒有參數(shù)可以不要,現(xiàn)在是這樣(a.php?a=1$cid=2)
success:?function?(data)
{
$("#shuaxin").html(data);//data是返回的數(shù)據(jù),根據(jù)ID添加到shuaxin的div里
}
});
}
/script
第四步,這是PHP返回數(shù)據(jù)?a.php
?php
$id=$_REQUEST['id'];//接收id參數(shù),沒有參數(shù)就不用寫
$cid=$_REQUEST['cid'];//接收cid參數(shù),沒有參數(shù)就不用寫
//做一些你想做的操作,
echo?????//返回給html
?
大概就是這個樣子,沒測試。
方法其實挺多的。以前比較常用的是iframe這樣來做?,F(xiàn)在多了個ajax,所以一般情況下都是用的ajax。
第一種方法,ajax實現(xiàn):
當(dāng)然,ajax使用起來確實很簡單就可以實現(xiàn),但是里面的很多知識還是比較有點深的。我之前做頁面時間自動刷新的功能就是用的ajax。完整代碼是:
1.getTime.php:
代碼如下:
?php
header("cache-control:no-cache,must-revalidate");
header("Content-Type:text/html;charset=utf-8");
$time = "2012-1-20 18:00:00";
$dt_element=explode(" ",$time);
$date_element=explode("-",$dt_element[0]);
$time_element=explode(":",$dt_element[1]);
$date = mktime($time_element[0],$time_element[1],$time_element[2],$date_element[1],$date_element[2],$date_element[0]);
$nowTime = time();
$showtime = date("北京時間Y年m月d日H:i:s",$date-$nowTime);
if($showtime="北京時間1970年01月01日08:00:00"){
echo "happy new year";
}
echo $showtime;
2.zidong.php:
代碼如下:
/head
body
h1Ajax動態(tài)顯示時間/h1
input type="button" value="開始顯示時間" id="go" onclick="start()" /
p當(dāng)前時間:font color="red"span id="showtime"/span/font/p
/body
script type="text/javascript"
var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function start(){
createXMLHttpRequest();
var url="getTime.php";
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange = callback;
xmlHttp.send(null);
}
function callback(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
document.getElementById("showtime").innerHTML = xmlHttp.responseText;
setTimeout("start()",1000);
}
}
}
/script
/html
在瀏覽器里面直接訪問zidong.php就可以了,點擊里面的按鈕就可以看到效果。
這個就是用ajax做的刷新頁面局部內(nèi)容的小例子。你可能會懷疑:這里面沒有跟數(shù)據(jù)庫交互?。窟@還不簡單,直接在getTime.php頁面里面操作就可以啦。
這種方法就不用多說了吧。至于ajax里面的代碼是什么意思,不要問我啦,我之前就說過,這里面的ajax還是有點深的。
第二種方法:使用iframe方法實現(xiàn)。
不要給我說用PHP 的include可以啊。你去試試吧??梢?,可以就不會有那么多人在百度里面問了。
這種方法呢說起來復(fù)雜,其實還是挺簡單的。說下原理吧:
要刷新的頁面中把要自動刷新的局部的代碼單獨拿出來,做成一個獨立的頁面,自動刷新有很多種方法:可以在這個獨立頁面中用javascript來控制,什么setTimeout("start()",1000);啊或者setInterval("start()",1000);(每隔1秒刷新頁面)這樣,還可以用meta標(biāo)簽實現(xiàn):meta http-equiv="Refresh" content="10"(每隔10秒刷新頁面)。這樣在原來的頁面中用iframe來將它調(diào)用過來。這樣就可以了。
有兩種實現(xiàn)方法:
1、你可以用PHP服務(wù)器推技術(shù),當(dāng)數(shù)據(jù)發(fā)生變化時,主動推送到頁面顯示。相關(guān)技術(shù)可以參考文檔。百度也很多。
2、你可以用Javascript,每過一秒鐘,使用Ajax獲取數(shù)據(jù),一秒鐘刷新一次,也可以實現(xiàn)的。
第一種我也不會。第二種相信你可以的。
while的話是循環(huán),你用了只會一行行加