PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例


Posted in PHP onJune 09, 2018

本文实例讲述了PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据。分享给大家供大家参考,具体如下:

主要功能是从postgreSql查询数据,并检索,由于自己刚开始接触,所以难点在于多条数据同时筛选并分页显示出来,写下自己的代码与大家共享。

<html>
<head>
<script type="text/javascript">
  /**
 * 分页函数
 * pno--页数
 * psize--每页显示记录数
 * 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数
 * 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能
 **/
function goPage(pno,psize){
  var itable = document.getElementById("idData");
  var num = itable.rows.length;//表格所有行数(所有记录数)
  console.log(num);
  var totalPage = 0;//总页数
  var pageSize = psize;//每页显示行数
  //总共分几页
  if(num/pageSize > parseInt(num/pageSize)){
      totalPage=parseInt(num/pageSize)+1;
    }else{
      totalPage=parseInt(num/pageSize);
    }
  var currentPage = pno;//当前页数
  var startRow = (currentPage - 1) * pageSize+1;//开始显示的行 31
    var endRow = currentPage * pageSize;//结束显示的行  40
    endRow = (endRow > num)? num : endRow;  40
    console.log(endRow);
    //遍历显示数据实现分页
  for(var i=1;i<(num+1);i++){
    var irow = itable.rows[i-1];
    if(i>=startRow && i<=endRow){
      irow.style.display = "block";
    }else{
      irow.style.display = "none";
    }
  }
  var pageEnd = document.getElementById("pageEnd");
  var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";
  if(currentPage>1){
    tempStr += "<a href=\"#\" onClick=\"goPage("+(1)+","+psize+")\">首页</a>";
    tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage-1)+","+psize+")\"><上一页</a>"
  }else{
    tempStr += "首页";
    tempStr += "<上一页";
  }
  if(currentPage<totalPage){
    tempStr += "<a href=\"#\" onClick=\"goPage("+(currentPage+1)+","+psize+")\">下一页></a>";
    tempStr += "<a href=\"#\" onClick=\"goPage("+(totalPage)+","+psize+")\">尾页</a>";
  }else{
    tempStr += "下一页>";
    tempStr += "尾页";
  }
  document.getElementById("barcon").innerHTML = tempStr;
}
</script>
  <style type="text/css">
    table
     {
     text-align:center;
     width:1000px;
     }
     th
     {
     width:100px;
     }
    input
     {
     width:100px;
     }
    td
     {
     width:100px;
     }
  </style>
  </head>
  <body onLoad="goPage(1,10);">
    <form method="post" action="browes.php">
      <table border="1">
        <tr>
          <th><h2>个人概况一览</h2></th>
        </tr>
        <tr>
          <table border="1" >
            <tr>
              <td>姓:</td>
              <td><input type="text" name="surname">  </td>
              <td>名:</td>
              <td><input type="text" name="name">  </td>
              <td>手机:</td>
              <td><input type="text" name="phone">  </td>
              <td>性别:</td>
              <td><select name="sex" id="select_k1" class="xla_k">
                  <option value=""> </option>
                  <option value="male">男</option>
                  <option value="female">女</option>
                </select>
              </td>
              <td>学校:</td>
              <td><input type="text" name="school">  </td>
            </tr>
          </table>
        </tr>
        <tr>
          <td><input type="submit" name="submit" value="提交"> </td>
          <td><input name=reset type=reset value=重置></td>
        </tr>
      </table>
    </form>
</body>
<body>
    <table id="idData" border="1" >
     <tr>
      <th>照片</th>
      <th>姓名</th>
      <th>性别</th>
      <th>生日</th>
      <th>邮箱</th>
      <th>电话</th>
      <th>学校</th>
      <th>技能</th>
      <th>选项</th>
     </tr>
    <?php
      include "../head.php";
      $s = $_POST["surname"];
      $a = $_POST["name"];
      $b = $_POST["phone"];
      $c = $_POST["sex"];
      $d = $_POST["school"];
/*
下面这段代码是PostgreSQL数据库多条数据检索编写数据库的通用方法
*/
      $field = "where 1 = 1 ";
        if($a){
          //magic_quotes_gpc=on,addslashes not used.
          $name = str_replace('\'', "''", $a);
          $field.= "and (name like '%".$name."%') ";
        }
         if(($s)!=NULL){
          $surname = str_replace('\'', "''", $s);
          $field.= "and (surname like '%".$surname."%') ";
        }
        if(($c)!=NULL){
          $field.= "and (sex = '".$c."') ";
        }
        if(($d)!=NULL){
          $school = str_replace('\'', "''", $d);
          $field.= "and (school like '%".$school."%') ";
        }
        if(($b)!=NULL){
          $tel = str_replace('\'', "''", $b);
          $field.= "and (phone = '".$tel."') ";
        }
        $sql = "select * from worker ".$field;
/*
上面这段代码是PostgreSQL数据库多条数据检索编写数据库的通用方法
*/
      $ret = pg_query($db, $sql);
    while($row=pg_fetch_row($ret)){
    ?>
     <tr>
      <td><?php echo $row[9];?></td>
      <td><?php echo $row[1].$row[2];?></td>
      <td><?php echo $row[3];?></td>
      <td><?php echo $row[4];?></td>
      <td><?php echo $row[5];?></td>
      <td><?php echo $row[6];?></td>
      <td><?php echo $row[7];?></td>
      <td><?php echo $row[8];?></td>
      <td><button><a href = "<?php echo 'change.php?id='.$row[0] ?>">change</button>
        <button><a href = "<?php echo 'delete.php?id='.$row[0] ?>">delete</button></td>
     </tr>
    <?php } ?>
    </table>
    <table >
    <div id="barcon" name="barcon"></div>
    </table>
  </body>
</html>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
使用Sphinx对索引进行搜索
Jun 25 PHP
自己写了一个php检测文件编码的函数
Apr 21 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 PHP
浅谈php提交form表单
Jul 01 PHP
php生成二维码
Aug 10 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
用php+ajax新建流程(请假、进货、出货等)
Jun 11 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
php实现的数组转xml案例分析
Sep 28 PHP
PHP实现二维数组中的查找算法小结
Jun 09 #PHP
PHP实现链表的定义与反转功能示例
Jun 09 #PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 #PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 #PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 #PHP
Laravel程序架构设计思路之使用动作类
Jun 07 #PHP
laravel手动创建数组分页的实现代码
Jun 07 #PHP
You might like
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
jQuery 工具函数学习资料
2010/04/29 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
Vue自定义指令详解
2017/07/28 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
JavaScript实现随机点名小程序
2020/10/29 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
python实现html转ubb代码(html2ubb)
2014/07/03 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
python yield和Generator函数用法详解
2020/02/10 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
详解html2canvas截图不能截取圆角图片的解决方案
2018/01/30 HTML / CSS
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
车间工艺员岗位职责
2013/12/09 职场文书
军训心得体会
2013/12/31 职场文书
教师年度考核自我鉴定
2014/01/19 职场文书
销售员态度差检讨书
2014/10/26 职场文书
单身证明范本
2015/06/15 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
使用CSS实现一个搜索引擎的原理解析
2021/09/25 HTML / CSS
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android