请教:关于分页的问题

陈虎 发布于 2012/04/18 13:12
阅读 190
收藏 0
PHP
大家好,我是新手,我做了一个PHP分页,基本效果已经实现了,我想让当前页的颜色与其它页颜色不同,应该怎么实现?我想了好几天实在搞不定啊!还有假如以后我的页数多了,如何隐藏页数? 并且怎样让当前页居中显示???请知道的高手,帮忙指点下!
<?php
  inclued("conn.php"); //连接数据库
  //分页
  $pagesize=10; //设置一页显示条数
  
  $qw=mysql_query("select count(*) from `blog`");
  $we=mysql_fetch_array($qw);
  $er=$we[0];  //得出数据库表总数
  
  $pages=intval($er/$pagesize); //得出页数
  if($er%$pagesize){
  $pages++;
  }
  
  //设置当前页
  if(isset($_GET['page'])){  
    $page=intval($_GET['page']);
  }else{
    $page=1;
  }
  
  $offset=$pagesize*($page - 1); //计算起始条数
  $sql="select * from `blog` order by id desc limit $offset,$pagesize";
  $query=mysql_query($sql);
  
  while($rs=mysql_fetch_array($query)){
  

?>
<h2><a href="content.html?id=<?php echo $rs['id'] ?>"><?php echo $rs['title'] ?></a></h2>
<p class="dates"><?php echo $rs['dates'] ?></p>
<p class="contents"><?php echo iconv_substr(htmltocode($rs['contents']),0,100,"utf-8") ?>...</p>
<p class="yuedu"><a href="content.html?id=<?php echo $rs['id'] ?>">阅读全文>></a></p>
<!--清除浮动--><div class="clearfloat"></div>
<?php
}
?>
<!--清除浮动--><div class="clearfloat"></div>
<?php
  //显示分页
  $shouye=1;
  $shangye=$page-1;
  $xiaye=$page+1;
  $weiye=$pages;
  if($page>1){
  echo "<a href='index.html?page=".$shouye."'>  第一页  </a>";
  echo "<a href='index.html?page=".$shangye."'>  上一页  </a>";
  }
  //循环页数
  for($i=1;$i<=$pages;$i++){
  echo "<a href='index.html?page=".$i."'>  ".$i."  </a>";
}

  if($page<$pages){
  echo "<a href='index.html?page=".$xiaye."'>  下一页  </a>";
  echo "<a href='index.html?page=".$weiye."'>  最后一页  </a>";
  }
?>
加载中
0
此人已死,有事烧纸
此人已死,有事烧纸

第一个问题,当前页码与其他的页码不同需要在循环输出页数这里做工作

在循环中if判断,页码==(起始条数/每页显示条数)+1;

第二个问题,隐藏一些页码,也需要在循环输出页数这里做工作

比如,你要做多显示10个页码,那么就判断当前页如果在5和(页码总数-5)之间,

如果在这个之间,就输出(当前页码)-5和当前页码+5的页码。

如果小于5就输出前10个页码,如果大于页码总数-5 ,就输出后10个页码。

大概就是这样了,只是个思路,具体的你自己再去试验。

 

陈虎
非常感谢!搞定了!
0
陈虎
在线等!!!
0
猪也有理想
猪也有理想

其实这些你看到的是一些样式

 

说白了有得是一些js封装的分页. 你这个直接展示的可定是不行的了. 亲~.

0
陈虎
那要加哪些东西才能实现啊?
0
中山野鬼
中山野鬼
。。。。我脑袋不行了。看到页就想到存储器的page了。哈。
返回顶部
顶部