① 怎樣局部刷新網頁
大體有兩種方法:
一種方法是使用框架,每一個框架內都可以載入一個完整的網頁,弊鍵而在框架所在的網頁內,則會體現出「局部刷新」的效果。
另一種方法是使用Ajax,非同步載入需要的數據後,使用JS對HTML文檔 的DOM結構進行更改,實團搜現「局部刷新」的效果。
你可以在以下文章中了解具體知識:
參考資料:
【HTML框架】http://www.w3school.com.cn/html/html_frames.asp
【AJAX簡介租或巧】http://www.w3school.com.cn/php/php_ajax_intro.asp
② 怎麼用php刷新頁面
方法其實挺多的。以前比較常用的是iframe這樣來做。現在多了個ajax,所以一般情況下都是用的ajax。
第一種方法,ajax實現:
當然,ajax使用起來確實很簡單就可以實現,但是裡面的很多知識還是比較有點深的。我之前做頁面時間自動刷新的功能就是用的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>
<h1>Ajax動態顯示時間</h1>
<input type="button" value="開始顯示時間" id="go" onclick="start()" />
<p>當前時間:<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做的刷新頁面局部內容的小例子。你可能會懷疑:這裡面沒有跟資料庫交互啊?這還不簡單,直接在getTime.php頁面裡面操作就可以啦。
這種方法就不用多說了吧。至於ajax裡面的代碼是什麼意思,不要問我啦,我之前就說過,這裡面的ajax還是有點深的。
第二種方法:使用iframe方法實現。
不要給我說用PHP 的include可以啊。你去試試吧。可以,可以就不會有那麼多人在網路裡面問了。
這種方法呢說起來復雜,其實還是挺簡單的。說下原理吧:
要刷新的頁面中把要自動刷新的局部的代碼單獨拿出來,做成一個獨立的頁面,自動刷新有很多種方法:可以在這個獨立頁面中用javascript來控制,什麼setTimeout("start()",1000);啊或者setInterval("start()",1000);(每隔1秒刷新頁面)這樣,還可以用meta標簽實現:<meta http-equiv="Refresh" content="10">(每隔10秒刷新頁面)。這樣在原來的頁面中用iframe來將它調用過來。這樣就可以了。
③ PHP的頁面查詢結果在本頁顯示,而不是另外一頁顯示
想要在本頁顯示,估計可以採用ajax,你可以先了解下它,然後找一下相關的例子。ajax是一種頁面局部刷新技術,就是你可以使用js來獲取一個頁面的內容,然後動態地顯示在頁面上。
你可以看看jquery封裝好的ajax方法,然後按照實例修改下你的代碼,應該就可以實現你想要的效果了。
將ajax的請求url改寫成另一個頁面的地址,然後將返回的內容使用append等方法拼接到頁面上就可以了。
④ php 使用 ajax局部刷新 實現查詢功能
html文件如下:
<form>
名字:<input type="text" name="name" id="name" >
<input type="button" name="btn" id="btn" value="查詢">
</form>
<script>
$(function(){
$("#btn").click(function(){
$.ajax({
"dataType": 'json',
"type": "POST",
"url": "ajax.php",
"data": {'name':$("#name").val()},//獲取表單中id是name的值
"success": function(obj){//提交成功
alert(obj.msg);
},
"error":function(){//提交失敗
alert('error');
}
});
})
})
</script>
ajax.php頁面
<?php
$name = $_POST['name'];
//做資料庫查詢
//查詢到數據存在,成功
if($success){
exit(json_encode(array('errno'=>0,'msg'=>'success')));
}else{
//查詢不到數據,失敗
exit(json_encode(array('errno'=>1,'msg'=>'error')));
}
⑤ PHP頁面怎麼完成局部刷新
這跟 PHP 無關,是ajax技術,jQuery對其進行了封裝,使用也相當方便。不過要實現這個技術你得對js相當熟悉才能得心應手的使用。否則只能別用了,全部代碼是不太可能了,下面是核心的代碼:
$.ajax({
type: "POST",
url: "/layout/set/popup/content/collectedinfo/"+$("#home-poll-node-id").val(),
async: false,
data: $("#home-right-poll").serialize(),
success: function( responseText ){
$("#poll-result").css({
"border": "solid 1px #cccccc",
"padding": "10px",
"margin-top": "1px"
});
$("#poll-result").show();
$("#poll-result").html( responseText );
$("#poll-content").hide();
$("#home-right-poll .loading").hide();
}
});
別的東西還得你自己寫了。