扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、跟php没有关系,浏览器上的返回,
成都创新互联从2013年创立,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元四川做网站,已为上家服务,为四川各地企业和个人服务,联系电话:028-86922220
2、回去之后刷不刷新是不同浏览器的问题。
3、你可以在修改数据需要返回的那一个页面加上超链接或者几秒后跳转回去,js的location,php的header等等都可以。
方法其实挺多的。以前比较常用的是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
h1Ajax动态显示时间/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来将它调用过来。这样就可以了。
有两种实现方法:
1、你可以用PHP服务器推技术,当数据发生变化时,主动推送到页面显示。相关技术可以参考文档。百度也很多。
2、你可以用Javascript,每过一秒钟,使用Ajax获取数据,一秒钟刷新一次,也可以实现的。
第一种我也不会。第二种相信你可以的。
while的话是循环,你用了只会一行行加
$.post('更新数据库文件的路径','参数',function(data){
//把上面括号里的data赋值到你页面上想更新的地方(data是处理页面的输出)比如
$('div').text(data);
})
假设你的处理页面最后输出是
?php
echo 'abc';
?
那么文件运行后,
页面的div标签的字符就会背改变为abc,这样就无需刷新你的 页面而达到更新页面的内容
//这个正好手头正在做的一个项目中用到,提供思路,可以自由扩充
//在页面加载的时候注册一下 ,就是给要点击的地方添加事件或者是属性
//页面源码
table
tr
td class="canChange"点击这里会出现文本框/td
/tr
/table
//JS
$(document).ready(function(){
td_Click();
})
//点击事件
function td_Click() {
$(".canChange").click(function () {
var td = $(this);
//所点文本框的id
var id = $(this).attr("id")
var txt = $.trim(td.text());
var input = $("input class=\"myinput\" id='new' type='text'value='" + txt + "'style=\"width:80%;heigth:100%;\"/");
td.html(input);
input.click(function () { return false; });
//获取焦点
input.trigger("focus");
//文本框失去焦点后提交内容,重新变为文本
input.blur(function () {
// var newtxt = $(this).val();
var newtxt = $("#new").val();
//判断文本有没有修改
if (newtxt != txt) {
if (newtxt == null || newtxt == "") {
td.html(txt);
}
else {
//表示已经修改
$.post(.......)//提交
td.html(newtxt);
}
}
else {
td.html(txt);
}
});
});
}
刷新页面可以通过 JQ的 Fresh方法来实现,
或者是是控件刷新来实现,
比如 $("#btnSearch").click();这样通过JQ调用按钮点击,实现重新读取数据
=================望采纳!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流