请帮我看看这段php分页链接的问题
按照原理似懂非懂的编写了这段代码,分页显示的数据能够显示,但是点击分页链接,数据不变化。请为我讲解一下。<body><formid="form1"name="form1"...
按照原理似懂非懂的编写了这段代码,分页显示的数据能够显示,但是点击分页链接,数据不变化。请为我讲解一下。
<body>
<form id="form1" name="form1" method="post" action="">
<table width="470" border="1">
<tr>
<td colspan="4">查询
<label>
<select name="select">
<option value="ad_id" selected="selected">管理员编号</option>
<option value="ad_name">管理员账号</option>
</select>
<input name="textfield" type="text" />
<input type="submit" name="Submit" value="查询" />
</label>
</td>
</tr>
<?php
include_once("conn/conndb.php");
if($_POST[Submit]=="查询"){
$select=$_POST[select];
$textfield=$_POST[textfield];
if(isset($_POST['page'])){
$page=intval($_POST['page']);
}
else{
$page=1;
}
if($page==""){
$page=1;}
$pagesize=1;//设置每页显示数据条数
$offset=$pagesize*($page-1);//设置查询偏移量
//设置查询条件
if($select=="ad_id")
{
if(empty($textfield))
{ $str="select count(*) from tb_admin";
$str1="select * from tb_admin limit $offset,$pagesize";
}
else
{$str="select count(*) from tb_admin where ad_id='$textfield'";
$str1="select * from tb_admin where ad_id='$textfield' limit $offset,$pagesize";
}
}
else{
if(empty($textfield))
{$str="select count(*) from tb_admin";
$str1="select * from tb_admin limit $offset,$pagesize";
}
else
{$str="select count(*) from tb_admin where ad_name='$textfield'";
$str1="select * from tb_admin where ad_name='$textfield' limit $offset,$pagesize";
}
}
if(is_numeric($page)){
$num=mysql_query($str);
$result=mysql_query($str1);
if($num){//判断总页数
if($num<$pagesize){$pagecount=1;}
if($num%$pagesize){$pagecount=(int)($num/$pagesize)+1;}
else{$pagecount=$num/$pagesize;}
}
else{$pagecount=0;}
if(!mysql_num_rows($result)){
echo"<script>alert('未查询到数据,请检查查询条件!');window.location.href='modifyadmin.php';</script>";}
}
?>
<tr>
<td>管理员编号</td>
<td>管理员账号</td>
<td>管理员密码</td>
<td>管理员权限</td>
</tr>
<?php do{?>
<tr>
<td><?php echo $row["ad_id"];?></td>
<td><?php echo $row["ad_name"];?></td>
<td><?php echo $row["ad_pwd"];?></td>
<td><?php echo $row["ad_level"];?></td>
</tr>
<?php }while($row=mysql_fetch_array($result));?>
<tr>
<td colspan="4"><?php
$pag=$_POST[page];
if($pag!=1){
echo"<a href=modifyadmin.php?page=1>首页</a>";
echo"<a href=modifyadmin.php?page=".($pag-1).">上一页</a>";
}
if($pag<$pagecount){
echo"<a href=modifyadmin.php?page=".($pag+1).">下一页</a>";
echo"<a href=modifyadmin.php?page=".($pagecount).">尾页</a>";
}
}?></td>
</tr> 展开
<body>
<form id="form1" name="form1" method="post" action="">
<table width="470" border="1">
<tr>
<td colspan="4">查询
<label>
<select name="select">
<option value="ad_id" selected="selected">管理员编号</option>
<option value="ad_name">管理员账号</option>
</select>
<input name="textfield" type="text" />
<input type="submit" name="Submit" value="查询" />
</label>
</td>
</tr>
<?php
include_once("conn/conndb.php");
if($_POST[Submit]=="查询"){
$select=$_POST[select];
$textfield=$_POST[textfield];
if(isset($_POST['page'])){
$page=intval($_POST['page']);
}
else{
$page=1;
}
if($page==""){
$page=1;}
$pagesize=1;//设置每页显示数据条数
$offset=$pagesize*($page-1);//设置查询偏移量
//设置查询条件
if($select=="ad_id")
{
if(empty($textfield))
{ $str="select count(*) from tb_admin";
$str1="select * from tb_admin limit $offset,$pagesize";
}
else
{$str="select count(*) from tb_admin where ad_id='$textfield'";
$str1="select * from tb_admin where ad_id='$textfield' limit $offset,$pagesize";
}
}
else{
if(empty($textfield))
{$str="select count(*) from tb_admin";
$str1="select * from tb_admin limit $offset,$pagesize";
}
else
{$str="select count(*) from tb_admin where ad_name='$textfield'";
$str1="select * from tb_admin where ad_name='$textfield' limit $offset,$pagesize";
}
}
if(is_numeric($page)){
$num=mysql_query($str);
$result=mysql_query($str1);
if($num){//判断总页数
if($num<$pagesize){$pagecount=1;}
if($num%$pagesize){$pagecount=(int)($num/$pagesize)+1;}
else{$pagecount=$num/$pagesize;}
}
else{$pagecount=0;}
if(!mysql_num_rows($result)){
echo"<script>alert('未查询到数据,请检查查询条件!');window.location.href='modifyadmin.php';</script>";}
}
?>
<tr>
<td>管理员编号</td>
<td>管理员账号</td>
<td>管理员密码</td>
<td>管理员权限</td>
</tr>
<?php do{?>
<tr>
<td><?php echo $row["ad_id"];?></td>
<td><?php echo $row["ad_name"];?></td>
<td><?php echo $row["ad_pwd"];?></td>
<td><?php echo $row["ad_level"];?></td>
</tr>
<?php }while($row=mysql_fetch_array($result));?>
<tr>
<td colspan="4"><?php
$pag=$_POST[page];
if($pag!=1){
echo"<a href=modifyadmin.php?page=1>首页</a>";
echo"<a href=modifyadmin.php?page=".($pag-1).">上一页</a>";
}
if($pag<$pagecount){
echo"<a href=modifyadmin.php?page=".($pag+1).">下一页</a>";
echo"<a href=modifyadmin.php?page=".($pagecount).">尾页</a>";
}
}?></td>
</tr> 展开
2个回答
展开全部
1.获取不到数据当然不会显示;
2.把$_POST['page'])改为$_GET['page'] ,所有的$_POST都改成$_GET;
3.有些服务在旧版本中PHP是同时支持的,但5.0版本后就不支持了;
4.主要原因为了安全因素;
2.把$_POST['page'])改为$_GET['page'] ,所有的$_POST都改成$_GET;
3.有些服务在旧版本中PHP是同时支持的,但5.0版本后就不支持了;
4.主要原因为了安全因素;
更多追问追答
追问
修改了仍然不起作用,反而首页,上一页,下一页,尾页都显示出来了。我很疑惑这个page值从哪来的?在代码开始就进行判断了,而我并没有定义。而下面的分页链接又是如何运作的,能够使数据更新?好像下面的链接影响不到do while语句。能给我讲一下吗?多谢。
追答
if($_POST[Submit]=="查询"){
}
把这个去掉,只把这个语句去掉,不是把内容去掉!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询