• php+mysql分页优化版


      1 <?php 
      2     include('conn/conn2.php');
      3     $pagesize=5;
      4     $url=$_SERVER["REQUEST_URI"];//取当前url路径
      5     $url=parse_url($url); //查询当前路径所以值
      6     $url=$url[path];//查询当前路径path的值
      7     
      8     $numq=mysql_query("select * from tb_article");
      9     $num=mysql_num_rows($numq);  //总数
     10     
     11     if($_GET[page]){
     12         $pageval=$_GET[page];        //获取当前页
     13         $page=($pageval-1)*$pagesize; //从第几条记录开始
     14         $page.=',';    
     15     }
     16     
     17     $pageceil=ceil($num/$pagesize); //共有几页记录
     18     
     19     $sql="select * from tb_article order by now desc limit $page $pagesize";
     20     $query=mysql_query($sql);
     21     
     22     while($res_article=mysql_fetch_array($query)){
     23 ?>
     24     <div id="center_centent">
     25    
     26      <a href="user_article.php?id=<?php echo $res_article['id'];?>">
     27   <h2> <div id="center_content_title"><?php echo csubstr($res_article['title'],0,100);?></div></h2></a>
     28     
     29     
     30      <span><?php echo csubstr($res_article['content'],0,305)."...";?></span>
     31    <a href=""> <div id="center_content_more">继续阅读>></div></a>
     32     
     33     <hr />    
     34     <div id="author_time" >
     35     <span>作者:<?php echo $res_article['author']; ?></span>
     36     
     37       <span>时间:<?php echo date("m,d ⊙ H:i:s",strtotime($res_article['now'])) ?></span>
     38      <span> 标签:[<a href="javascript:void(0)"><?php echo $res_article['classify'] ?></a>]</span>
     39     </div>
     40     </div>
     41     
     42     <br />
     43     <?php 
     44         }
     45       ?>
     46 <div id="fenyebg"></div>
     47 <div class="fenye"> 
     48 <?php 
     49     
     50     if($num>$pagesize){        
     51         if($pageval<=1){    
     52         $pageval=1;    //当前页<1,则重置当前页为1
     53         echo "<div><<</div>";
     54         }else
     55         echo "<a href=$url?page=1><div><<</div></a>";
     56         
     57         if($pageceil>7){    //如果记录页数超过7页,则执行以下
     58         
     59         if($pageval>3){
     60             for($i=$pageval-3;$i<=$pageval+3&&$i<=$pageceil-3;$i++){
     61                 if($i==$pageval){   //判断如果是当前页,则显示当前页的$i不能被点击
     62                 echo "<div id='dangqian'>$i</div>";
     63             }else
     64             echo "<a  style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
     65             }
     66         }else{
     67             
     68             for($i=1;$i<8;$i++){
     69             if($i==$pageval){   //判断如果是当前页,则显示当前页的$i不能被点击
     70                 echo "<div id='dangqian'>$i</div>";
     71             }else
     72             echo "<a  style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
     73             }
     74         }
     75         $i=$pageceil-2;
     76         echo "<div>....</div>";
     77         for($i;$pageceil>=$i;$i++){  //判断查询出后三页并显示
     78             if($i==$pageval){   //判断如果是当前页,则显示当前页的$i不能被点击
     79                  echo "<div id='dangqian'>$i</div>";
     80             }else
     81             echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
     82             
     83         }
     84         
     85         }else{
     86             for($i=1;$i<=$pageceil;$i++){ //如果记录页不数超过7页,则正常显示
     87             
     88             
     89             if($i==$pageval){   //判断如果是当前页,则显示当前页的$i不能被点击
     90                 echo "<div id='dangqian'>$i</div>";
     91             }else
     92             echo "<a style='border-radius:20%;box-shadow:0 1px 2px #000;' href=$url?page=".$i."><div>$i</div></a>"; //显示出除当前页,其他页的超链接
     93                 
     94             
     95             }
     96             
     97         }
     98         
     99         if($pageceil>$pageval)    //总页数大于当前页,就显示下一页
    100         echo "<a href=$url?page=".($pageceil)."><div>>></div></a>";
    101         
    102     }
    103 
    104 ?>   
    105  </div>  

    css:

    1 div.fenye{background:; text-align:center; width:650px;margin:0 -325px 0 0; right:50%; position:absolute;}
    2 div.fenye div{background:; text-align:center; width:50px; height:25px; float:left;color:#FFF}
    3 div.fenye div:hover{background:#FFF; text-align:center; width:50px; height:25px; float:left; color:#000;box-shadow:0 0px 15px #FFF;}
    4 div#dangqian{background:#FFF;box-shadow:0 0px 15px #FFF;color:#000}
    5 div#fenyebg{background:#FFF; width:800px;position:fixed; right:50%; margin:0 -400px 0 0; bottom:0; height:25px ;border-radius:5px 5px 5px;opacity:0.3;}
  • 相关阅读:
    将数组转换为 List, 使用 Collections.addAll(arrayList, array)
    Numpy学习笔记
    sql 批量修改字段内容
    sql 查询的优化
    选择低薪喜欢的工作, 还是高薪不喜欢的工作 ?
    Tornado + Bootstrap 快速搭建自己的web应用
    sql查询出现次数最多的记录的名称和现次数以及QT聚合查找失败解决
    idea中修改git提交代码的用户名
    初识Spring Cloud与微服务
    微信小程序解析富文本的几种方法
  • 原文地址:https://www.cnblogs.com/mrcln/p/3776619.html
Copyright © 2020-2023  润新知