zoukankan      html  css  js  c++  java
  • PHP中查询结果分页

    很多刚入门的朋友们做分页已经没有什么问题,但是在做查询分页的时候可能会遇到问题,例如页面中一页默认显示10条数据,共有100条数据,当你查询符合某个条件的数据的时候,发现符合条件的数据有15条,这个时候只需要用get接收传过来的查询条件即可,(如果用post的话,请将变量存储到session中使用),查出来的第一页没问题,当翻页 翻到第二页的时候会发现查询条件丢失了,好多新手不知所措,其实问题的原因很简单,是因为在点击翻页按钮的时候忘记了传递参数,参数就是这个查询条件,加上就可以了,完整的代码如下:

    <?php  
    $conn = @mysql_connect("localhost","root","root") or die("连接数据库服务器失败!");  
    //连接ly_php_base数据库  
    $ok = @mysql_select_db("pagetest",$conn) or die("未能连接到数据库!");
    mysql_query("set names 'utf8'"); //解决想mysql数据库中插入汉字失败的问题,这里注意utf8必须和<meta charset="utf-8">中的这一致
    if($ok){echo "mysql is ok!";}else {echo "mysql is failed!";}
    $page=$_GET['page'];//获得当前的页面值
    if (!isset($page)){$page=1;} //如果没有值,则赋值1
    $page_size=4;//每页显示2条
    $tt=$_GET['title'];
    
    if($tt){
        $tv="title like '%$tt%'";
    }else{
        $tv=1;
    }
    
    $arcs_result=mysql_query("select count(*) as total from contents where $tv");//输出结果为Resource id #4
    //echo $arcs_result;
    $arc_size=mysql_result($arcs_result,0,"total");//文章总数
    $pagenum=ceil($arc_size/$page_size);
        $offset=($page-1)*$page_size;
        $sql=mysql_query("SELECT * FROM contents WHERE $tv order by id asc limit $offset,$page_size");  
        
        //desc表示降序排序,意思是从$offset开始,排$page_size次
        if($sql){echo "query yes";}else {echo "query no";}
        $rs=mysql_fetch_array($sql); //提取数据
      
        
    ?>    
    <form action="ceshi.php" method="get">
        <input type="text" name="title"/>
        <input type="submit" value="查询"/>
        </form>
    <?php    
        
        while($rs) {  
    ?>
    
    
    
    
    
        <div>
        <p>主键:<?php echo $rs['id'];?><p>
        <p>用户编号:<?php echo $rs['user_id'];?></p>
        <p>发送日期:<?php echo $rs['send_date'];?></p>
        <p>标题:<?php echo $rs['title'];?></p>
        <p>备注:<?php echo $rs['note'];?></p>
        <p>内容:<?php echo $rs['content'];?></p>
        <p>[<?php echo $page;?>]页</p>
        <p>-----------------------------------</p>
        </div> 
    <?php 
            $rs = mysql_fetch_array($sql); 
        }
    For($i=1;$i<=$pagenum;$i++){
    
    
           $show=($i!=$page)?"<a href='ceshi.php?page=".$i."&title=$tt'>$i</a>":"<b>$i</b>";
           Echo $show." ";
    
    }
    ?>

    然后就可以了
  • 相关阅读:
    Weblogic任意文件上传漏洞(CVE-2018-2894)复现
    Angular动态创建组件之Portals
    nodejs 开发企业微信第三方应用入门教程
    系列文章|OKR与敏捷(三):赋予团队自主权
    Angular开发技巧
    系列文章|OKR与敏捷(二):实现全栈敏捷
    系列文章|OKR与敏捷(一):瀑布式目标与敏捷的冲突
    OKR与Scrum如何强强联手
    Service Worker
    RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 原文地址:https://www.cnblogs.com/HoverM/p/7383228.html
Copyright © 2011-2022 走看看