PHP怎样实现单击上一条、下一条按钮,页面不刷新,显示数据库中的上一条、下一条记录。
这里是网页的代码<?phpinclude'../config.php';$sql="select*from`xj_2009`";$query=mysql_query($s...
这里是网页的代码
<?php
include '../config.php';
$sql="select * from `xj_2009`";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
?>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<input type="submit" name="next" value="下一条"/>
</form>
网页显示如下:
数据表如下:xj_2009
可以从数据库中读取到值显示到网页的文本框中,现在有个问题,如果我想单击“下一条”按钮,在不刷新网页的情况下显示数据库中的下一条记录,怎么样实现啊,求大神指点啊,最好说的详细点啊,我是小白,刚开始学php。
就是点击按钮后产生如下效果 展开
<?php
include '../config.php';
$sql="select * from `xj_2009`";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
?>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<input type="submit" name="next" value="下一条"/>
</form>
网页显示如下:
数据表如下:xj_2009
可以从数据库中读取到值显示到网页的文本框中,现在有个问题,如果我想单击“下一条”按钮,在不刷新网页的情况下显示数据库中的下一条记录,怎么样实现啊,求大神指点啊,最好说的详细点啊,我是小白,刚开始学php。
就是点击按钮后产生如下效果 展开
展开全部
帮你简单的做了一下,剩下的你自己搞定。。。
这个是你的那段代码,然后我用了jquery的ajax 你自己去下一个。这个是index.php
<?php
header("Content-type: text/html; charset=utf-8");
include './config.php';
$sql="select * from `xj_2009`";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
?>
<script src="./jquery-1.6.2.min.js"></script>
<script>
function GetNext(id){
$.get("test.php", { sid: id},
function(data){
alert("Data Loaded: " + data);
});
}
</script>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<input type="button" name="next" onclick="GetNext(<?php echo $row["id"]?>)" value="下一条"/>
</form>
下面这个是ajax请求的页面test.php
<?php
include './config.php';
$sql="select * from `xj_2009` where id > {$_GET['sid']} limit 1";
$query = mysql_query($sql);
$row = mysql_fetch_array($query,MYSQL_ASSOC);
$jsonencode = json_encode($row);
echo $jsonencode;
?>
已经可以获取到返回的json值了,剩下的你自己搞定。。
追问
这个我试了一下,好像
onclick="GetNext()"
这个语句只能取得第一次的id,不能跟随页面变化,所以点下一条只能取得第二条。。
追答
算了,那我帮你写个完整的吧。。
<?php
header("Content-type: text/html; charset=utf-8");
include './config.php';
$sql="select * from `xj_2009`";
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
?>
<script src="./jquery-1.6.2.min.js"></script>
<script>
function GetNext(){
var id=$("#sid").val();
$.get("test.php", { sid: id},
function(data){
var jsObject = eval('('+data+')');
if(jsObject){
$("input[name='id']").val(jsObject['id']);
$("input[name='username']").val(jsObject['name']);
$("#sid").val(jsObject['id']);
//alert(jsObject['id']);
//alert("Data Loaded: " + data);
}else{
alert("已经获取不到数据了。");
}
});
}
</script>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<input type="hidden" name="sid" id="sid" value="<?php echo $row["id"]?>">
<input type="button" name="next" onclick="GetNext()" value="下一条"/>
</form>
展开全部
很明显,用AJAX,也就是说你需要js的帮忙
思路的话三步
一,创建XMLHttpRequest实例
http = new XMLHttpRequest();
二,将页面数据传至指定的php文件中
http.open("GET",目标PHP文件路径,true);
http.send(null);
三,接收返回值,也就是PHP文件最终的echo。
var myText = http.responseText;
(楼上代码是分页的。。。)
思路的话三步
一,创建XMLHttpRequest实例
http = new XMLHttpRequest();
二,将页面数据传至指定的php文件中
http.open("GET",目标PHP文件路径,true);
http.send(null);
三,接收返回值,也就是PHP文件最终的echo。
var myText = http.responseText;
(楼上代码是分页的。。。)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
include '../config.php';
$pagesize=1;
$sql="select * from xj_2009";
$result=mysql_query($sql);
$number=mysql_num_rows($result); //获取数据数量
$totalpage=ceil($number/$pagesize);
$pageno=$_GET['pageno'];
if ($pageno=='') {
$pageno=1;
}
$startno=($pageno-1)*$pagesize;//从第几个开始
$sql2="select * from xj_2009 limit ".$startno.",".$pagesize;
$row=mysql_query($sql2);
?>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<?php if($pageno==1){
echo "[首页][上页][<a href=?pageno=".($pageno+1).">下页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
}
if($pageno==$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上页</a>][下页][末页]";
}
if($pageno>1 && $pageno<$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上页</a>][<a href=?pageno=".($pageno+1).">下页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
}
?>
</form>
include '../config.php';
$pagesize=1;
$sql="select * from xj_2009";
$result=mysql_query($sql);
$number=mysql_num_rows($result); //获取数据数量
$totalpage=ceil($number/$pagesize);
$pageno=$_GET['pageno'];
if ($pageno=='') {
$pageno=1;
}
$startno=($pageno-1)*$pagesize;//从第几个开始
$sql2="select * from xj_2009 limit ".$startno.",".$pagesize;
$row=mysql_query($sql2);
?>
<form action="ss.php" method="post"><br>
ID:<input type="text" name="id" value="<?php echo $row["id"]?>" /><br><br>
用户名:<input type="text" name="username" value="<?php echo $row["name"]?>" /><br><br>
<?php if($pageno==1){
echo "[首页][上页][<a href=?pageno=".($pageno+1).">下页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
}
if($pageno==$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上页</a>][下页][末页]";
}
if($pageno>1 && $pageno<$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上页</a>][<a href=?pageno=".($pageno+1).">下页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
}
?>
</form>
追问
额,这个是分页吧,网页是刷新的
追答
是啊 你想不刷新啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没解决的话加我QQ306794930
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以用AJAX实现,网上例子很多的。
追问
能具体说一下吗,或者给个例子,我仔细看一下,在网上查的时候都是稍微一点,看不太明白。
追答
var xmlhttp = null;
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}else if (window.ActiveXObject) {
xmlhttp = new ActiveXObject("Microsoft.xmlHTTP");
}else{
alert("XMLHttpRequest对象创建失败!!");
return;
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4) {
var now = document.getElementById(id);
if (xmlhttp.status == 200) {
var responseText = xmlhttp.responseText; //后台可以传回一个json格式的字符串,包含id和name
var result = eval(responseText);//result[0].id就是id;result[0].name就是name;可以用JS替换文本框
}}}
xmlhttp.open("GET",url,true);//url是访问的路径,可以是后台的servlet等
xmlhttp.setRequestHeader("If-Modified-Since","0");//清楚缓存,防止有的时候ajax不去后台查
xmlhttp.send(null);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询