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 相关文章推荐
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
PHP处理JSON字符串key缺少双引号的解决方法
Sep 16 PHP
php的XML文件解释类应用实例
Sep 22 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
54个提高PHP程序运行效率的方法
Jul 19 PHP
PHP编程实现计算抽奖概率算法完整实例
Aug 09 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
js实现拖拽功能
2017/03/01 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
Python使用logging结合decorator模式实现优化日志输出的方法
2016/04/16 Python
python实现按长宽比缩放图片
2018/06/07 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
Python基于property实现类的特性操作示例
2018/06/15 Python
Django stark组件使用及原理详解
2019/08/22 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
python numpy库np.percentile用法说明
2020/06/08 Python
python如何实现word批量转HTML
2020/09/30 Python
python os.rename实例用法详解
2020/12/06 Python
HTML5本地存储之Web Storage详解
2016/07/04 HTML / CSS
医生实习工作总结的自我评价
2013/09/27 职场文书
英文商务邀请信
2014/01/22 职场文书
社会实践评语
2014/04/28 职场文书
1亿有多大教学反思
2014/05/01 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
数学教研活动总结
2014/07/02 职场文书
酒店员工辞职信范文
2015/02/28 职场文书