分页问题 求高手帮我看看

时间:2021-06-24 08:52:47
<form  name="form" method="post" action=""> 

  <table width="60%"  border="4" align="center" cellpadding="0" cellspacing="0">
   
  
          
<?php
/*连接数据库*/
include("conn.php");
if(isset($_GET['page'])){
$page=$_GET['page'];
}else{
$page=1;
}?>
<?php 
if($page){
$page_size=4;
 $arr="select * from luntanp";
$tt=mysql_query($arr); //执行查询操作
$message_count=mysql_num_rows($tt); //获取查询总数
    $page_count=ceil($message_count/$page_size);  //获取总的页数
    $offset=($page-1)*$page_size; 
$query="select * from luntanp where id=$_GET[id] or hid=$id order by id desc limit $offset, $page_size";     
$arr=mysql_query($query,$conn);
}?><?php
/*使用while语句循环mysql_fetch_array()函数返回的数组*/
while($result=mysql_fetch_array($arr)){
?>
  <tr bgcolor="#999999">
    <td width="7%">作者:</td>
    <td width="26%" align="left"><?php echo $result['zz'];?></td>
    <td width="19%" align="right">回复时间:</td>
    <td width="33%"><?php echo $result['hs'];?></td>
    <td width="6%" align="right"><?php echo $result['id'];?></td>
    <td width="9%">楼</td>
  </tr>
  <tr>
    <td height="139" align="left" >内容:</td>
    <td colspan="5" align="left" valign="middle"><?php echo $result['pl'];?></td>
    </tr>


         
<?php
  } //结束while循环
?>
<?php
if($page!=1){
echo "<a href=index.php?page=1>首页</a>";
echo "<a href=index.php?page=".($page-1).">上一页</a>";
}
if($page<$page_count){
echo " <a href=clc.php?id=$_GET[id]?page=".($page+1).">下一页</a>";
echo " <a href=index.php?page=$page_count;>尾页</a>";
}
?>
     
  </table>
</form>
我单击下一页怎么就不会出来呀 能帮我解决一下吗 我不知道怎么回事 我改不了呀 那个帮我帮我拜托了 单击下一页就一样都没有了 单击尾页也是一样呀

9 个解决方案

#1


看下源码,你就明白
另外点击时后看url后面的page参数变化

#2


我一直用网上下载的一个php的通用分页类来实现分页的。
调用方法很简单:
include_once("pages_class.php");
连接db省略.....
得到总记录数在此省略........
$page = new pages("每页显示数","总记录数");
$limit = $page->offset
$page_html = $page->page_html;
$sql ="select * from table where 1 ".$limit;
$result = mysql_query($sql,$db);
while($rs= mysql_fetch_array($result)){
print_r($rs);
}
echo $page_html;

就这样就可以了,我下载的地址:http://www.phpnewer.com/index.php/Ymgx/detail/id/5

#3


要怎么改哦 帮我改一下好吗?我用了很多方法了 就是不对呀

#4


 当你点击下一页的时候 url是你想要的吗?

#5


echo " <a href=clc.php?id=$_GET[id]?page=".($page+1).">下一页</a>";
 echo " <a href=index.php?page=$page_count;>尾页</a>";

这两个文件应该一样吧,怎么上面的写成了clc.php

#6


if($page<$page_count){
echo " <a href=clc.php?id=$_GET[id]?page=".($page+1).">下一页</a>";
echo " <a href=index.php?page=$page_count;>尾页</a>";
}
改成:
if($page<$page_count){
echo " <a href=index.php.php?page=".($page+1).">下一页</a>";
echo " <a href=index.php?page=$page_count;>尾页</a>";
}

这样就ok了

#7


你们都是高人!
我水平有限,但是我知道:
$query="select * from luntanp where id= $_GET[id] or hid= $id order by id desc limit $offset, $page_size";   
$arr=mysql_query($query,$conn);
不可能得到正确的结果,连第一页都不能显示。哪来的分页?
$id 不知在从哪里来的
$_GET[id] 只在“下一页”时传入,而且是字符串类型的

#8


<form name="form" method="post" action=""> 

  <table width="60%" border="4" align="center" cellpadding="0" cellspacing="0">
    
   
    
<?php
/*连接数据库*/
include("conn.php");
if(isset($_GET['page'])){
$page=$_GET['page'];
}else{
$page=1;
}?>
<?php  
if($page){
$page_size=4;
$arr="select * from luntanp";
$tt=mysql_query($arr); //执行查询操作
$message_count=mysql_num_rows($tt); //获取查询总数
  $page_count=ceil($message_count/$page_size); //获取总的页数
  $offset=($page-1)*$page_size;  
$query="select * from luntanp where id=$_GET[id] or hid=$id order by id desc limit $offset, $page_size";   
$arr=mysql_query($query,$conn);
}?><?php
/*使用while语句循环mysql_fetch_array()函数返回的数组*/
while($result=mysql_fetch_array($arr)){
?>
  <tr bgcolor="#999999">
  <td width="7%">作者:</td>
  <td width="26%" align="left"><?php echo $result['zz'];?></td>
  <td width="19%" align="right">回复时间:</td>
  <td width="33%"><?php echo $result['hs'];?></td>
  <td width="6%" align="right"><?php echo $result['id'];?></td>
  <td width="9%">楼</td>
  </tr>
  <tr>
  <td height="139" align="left" >内容:</td>
  <td colspan="5" align="left" valign="middle"><?php echo $result['pl'];?></td>
  </tr>


    
<?php
  } //结束while循环
?>
<?php
if($page!=1){
echo "<a href=clc.php?page=1>首页</a>";
echo "<a href=clc.php?page=".($page-1).">上一页</a>";
}
if($page<$page_count){
echo " <a href=clc.php?page=".($page+1).">下一页</a>";
echo " <a href=lcl.php?page=$page_count;>尾页</a>";
}
?>
    
  </table>
</form>
是这样一个的 我改过了 所以贴出来的时候出现了错了 我的url是这样一个lcl.php?id=$get['id']的这样一个的 我弄了好几个尝试都不对 不知道是什么原因 那个给我一个答案吗

#9


你改了什么东西?还是 #7 我说的问题
$query="select * from luntanp where id= $_GET[id] or hid= $id order by id desc limit $offset, $page_size"; 
就打算 $_GET[id] 有值,比如 1,世纪之星的sql指令是
select * from luntanp where id=1] or hid= order by id desc limit $offset, $page_size
必然会在 hid= 这里出错
请先改正过来

虽然你说第一次进入时是有 id 传入的,但你书写的跳页连接里就没有 id 了
所以所有形如
echo "<a href=clc.php?page=1>首页</a>";
的,要写作形如
echo "<a href=clc.php? id=$_GET[id]&page=1>首页</a>";
这样的

#1


看下源码,你就明白
另外点击时后看url后面的page参数变化

#2


我一直用网上下载的一个php的通用分页类来实现分页的。
调用方法很简单:
include_once("pages_class.php");
连接db省略.....
得到总记录数在此省略........
$page = new pages("每页显示数","总记录数");
$limit = $page->offset
$page_html = $page->page_html;
$sql ="select * from table where 1 ".$limit;
$result = mysql_query($sql,$db);
while($rs= mysql_fetch_array($result)){
print_r($rs);
}
echo $page_html;

就这样就可以了,我下载的地址:http://www.phpnewer.com/index.php/Ymgx/detail/id/5

#3


要怎么改哦 帮我改一下好吗?我用了很多方法了 就是不对呀

#4


 当你点击下一页的时候 url是你想要的吗?

#5


echo " <a href=clc.php?id=$_GET[id]?page=".($page+1).">下一页</a>";
 echo " <a href=index.php?page=$page_count;>尾页</a>";

这两个文件应该一样吧,怎么上面的写成了clc.php

#6


if($page<$page_count){
echo " <a href=clc.php?id=$_GET[id]?page=".($page+1).">下一页</a>";
echo " <a href=index.php?page=$page_count;>尾页</a>";
}
改成:
if($page<$page_count){
echo " <a href=index.php.php?page=".($page+1).">下一页</a>";
echo " <a href=index.php?page=$page_count;>尾页</a>";
}

这样就ok了

#7


你们都是高人!
我水平有限,但是我知道:
$query="select * from luntanp where id= $_GET[id] or hid= $id order by id desc limit $offset, $page_size";   
$arr=mysql_query($query,$conn);
不可能得到正确的结果,连第一页都不能显示。哪来的分页?
$id 不知在从哪里来的
$_GET[id] 只在“下一页”时传入,而且是字符串类型的

#8


<form name="form" method="post" action=""> 

  <table width="60%" border="4" align="center" cellpadding="0" cellspacing="0">
    
   
    
<?php
/*连接数据库*/
include("conn.php");
if(isset($_GET['page'])){
$page=$_GET['page'];
}else{
$page=1;
}?>
<?php  
if($page){
$page_size=4;
$arr="select * from luntanp";
$tt=mysql_query($arr); //执行查询操作
$message_count=mysql_num_rows($tt); //获取查询总数
  $page_count=ceil($message_count/$page_size); //获取总的页数
  $offset=($page-1)*$page_size;  
$query="select * from luntanp where id=$_GET[id] or hid=$id order by id desc limit $offset, $page_size";   
$arr=mysql_query($query,$conn);
}?><?php
/*使用while语句循环mysql_fetch_array()函数返回的数组*/
while($result=mysql_fetch_array($arr)){
?>
  <tr bgcolor="#999999">
  <td width="7%">作者:</td>
  <td width="26%" align="left"><?php echo $result['zz'];?></td>
  <td width="19%" align="right">回复时间:</td>
  <td width="33%"><?php echo $result['hs'];?></td>
  <td width="6%" align="right"><?php echo $result['id'];?></td>
  <td width="9%">楼</td>
  </tr>
  <tr>
  <td height="139" align="left" >内容:</td>
  <td colspan="5" align="left" valign="middle"><?php echo $result['pl'];?></td>
  </tr>


    
<?php
  } //结束while循环
?>
<?php
if($page!=1){
echo "<a href=clc.php?page=1>首页</a>";
echo "<a href=clc.php?page=".($page-1).">上一页</a>";
}
if($page<$page_count){
echo " <a href=clc.php?page=".($page+1).">下一页</a>";
echo " <a href=lcl.php?page=$page_count;>尾页</a>";
}
?>
    
  </table>
</form>
是这样一个的 我改过了 所以贴出来的时候出现了错了 我的url是这样一个lcl.php?id=$get['id']的这样一个的 我弄了好几个尝试都不对 不知道是什么原因 那个给我一个答案吗

#9


你改了什么东西?还是 #7 我说的问题
$query="select * from luntanp where id= $_GET[id] or hid= $id order by id desc limit $offset, $page_size"; 
就打算 $_GET[id] 有值,比如 1,世纪之星的sql指令是
select * from luntanp where id=1] or hid= order by id desc limit $offset, $page_size
必然会在 hid= 这里出错
请先改正过来

虽然你说第一次进入时是有 id 传入的,但你书写的跳页连接里就没有 id 了
所以所有形如
echo "<a href=clc.php?page=1>首页</a>";
的,要写作形如
echo "<a href=clc.php? id=$_GET[id]&page=1>首页</a>";
这样的