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 相关文章推荐
php5 图片验证码实现代码
Dec 11 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
一个简单且很好用的php分页类
Oct 26 PHP
php读取目录所有文件信息dir示例
Mar 18 PHP
php判断页面是否是微信打开的示例(微信打开网页)
Apr 25 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
ThinkPHP采用实现三级循环代码实例
Jul 18 PHP
php使用Jpgraph绘制3D饼状图的方法
Jun 10 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php排序算法实例分析
Oct 17 PHP
laravel框架模型和数据库基础操作实例详解
Jan 25 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简单实现发送带附件的邮件
2015/06/10 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
jquery api参考 visualjquery 中国线路 速度快
2007/11/30 Javascript
Javascript valueOf 使用方法
2008/12/28 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
JQuery EasyUI 日期控件如何控制日期选择区间
2014/05/05 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
Openlayers绘制地图标注
2020/09/28 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
开始着手第一个Django项目
2015/07/15 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
基于python3 OpenCV3实现静态图片人脸识别
2018/05/25 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
金融行业职业生涯规划范文
2014/01/17 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
工作自我评价范文
2015/03/05 职场文书
信访维稳承诺书
2015/05/04 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
利用Redis实现点赞功能的示例代码
2022/06/28 Redis