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 相关文章推荐
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
Aug 09 PHP
yii操作cookie实例简介
Jul 09 PHP
我整理的PHP 7.0主要新特性
Jan 07 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
Jun 29 PHP
php创建图像具体步骤
Mar 13 PHP
LAMP环境使用Composer安装Laravel的方法
Mar 25 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
PHP进阶学习之Geo的地图定位算法详解
Jun 19 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 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
php判断电脑访问、手机访问的例子
2014/05/10 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
PHP实现Unicode编码相互转换的方法示例
2020/11/17 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
jquery中获得$.ajax()事件返回的值并添加事件的方法
2010/04/15 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
python中list循环语句用法实例
2014/11/10 Python
Python实现字典的key和values的交换
2015/08/04 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
利用Python破解斗地主残局详解
2017/06/30 Python
python实现简易云音乐播放器
2018/01/04 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
2019/11/20 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Python解析微信dat文件的方法
2020/11/30 Python
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
七年级政治教学反思
2014/02/03 职场文书
房务中心文员岗位职责
2014/04/16 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年化验室工作总结
2014/11/21 职场文书
人工作失职检讨书
2015/05/05 职场文书
课改心得体会范文
2016/01/25 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL