php分页显示数据库内容
来源:互联网 发布:故宫淘宝营销策略分析 编辑:程序博客网 时间:2024/05/17 02:54
page.class.php类
<?php /* * ********************************************* * @类名: page * @参数: $myde_total - 总记录数 * $myde_size - 一页显示的记录数 * $myde_page - 当前页 * $myde_url - 获取当前的url * @功能: 分页实现 * @作者: 宋海阁 */ class page { private $myde_total; //总记录数 private $myde_size; //一页显示的记录数 private $myde_page; //当前页 private $myde_page_count; //总页数 private $myde_i; //起头页数 private $myde_en; //结尾页数 private $myde_url; //获取当前的url /* * $show_pages * 页面显示的格式,显示链接的页数为2*$show_pages+1。 * 如$show_pages=2那么页面上显示就是[首页] [上页] 1 2 3 4 5 [下页] [尾页] */ private $show_pages; public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) { $this->myde_total = $this->numeric($myde_total); $this->myde_size = $this->numeric($myde_size); $this->myde_page = $this->numeric($myde_page); $this->myde_page_count = ceil($this->myde_total / $this->myde_size); $this->myde_url = $myde_url; if ($this->myde_total < 0) $this->myde_total = 0; if ($this->myde_page < 1) $this->myde_page = 1; if ($this->myde_page_count < 1) $this->myde_page_count = 1; if ($this->myde_page > $this->myde_page_count) $this->myde_page = $this->myde_page_count; $this->limit = ($this->myde_page - 1) * $this->myde_size; $this->myde_i = $this->myde_page - $show_pages; $this->myde_en = $this->myde_page + $show_pages; if ($this->myde_i < 1) { $this->myde_en = $this->myde_en + (1 - $this->myde_i); $this->myde_i = 1; } if ($this->myde_en > $this->myde_page_count) { $this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count); $this->myde_en = $this->myde_page_count; } if ($this->myde_i < 1) $this->myde_i = 1; } //检测是否为数字 private function numeric($num) { if (strlen($num)) { if (!preg_match("/^[0-9]+$/", $num)) { $num = 1; } else { $num = substr($num, 0, 11); } } else { $num = 1; } return $num; } //地址替换 private function page_replace($page) { return str_replace("{page}", $page, $this->myde_url); } //首页 private function myde_home() { if ($this->myde_page != 1) { return "<a href='" . $this->page_replace(1) . "' title='首页'>首页</a>"; } else { return "<p>首页</p>"; } } //上一页 private function myde_prev() { if ($this->myde_page != 1) { return "<a href='" . $this->page_replace($this->myde_page - 1) . "' title='上一页'>上一页</a>"; } else { return "<p>上一页</p>"; } } //下一页 private function myde_next() { if ($this->myde_page != $this->myde_page_count) { return "<a href='" . $this->page_replace($this->myde_page + 1) . "' title='下一页'>下一页</a>"; } else { return"<p>下一页</p>"; } } //尾页 private function myde_last() { if ($this->myde_page != $this->myde_page_count) { return "<a href='" . $this->page_replace($this->myde_page_count) . "' title='尾页'>尾页</a>"; } else { return "<p>尾页</p>"; } } //输出 public function myde_write($id = 'page') { $str = "<div id=" . $id . ">"; $str.=$this->myde_home(); $str.=$this->myde_prev(); if ($this->myde_i > 1) { $str.="<p class='pageEllipsis'>...</p>"; } for ($i = $this->myde_i; $i <= $this->myde_en; $i++) { if ($i == $this->myde_page) { $str.="<a href='" . $this->page_replace($i) . "' title='第" . $i . "页' class='cur'>$i</a>"; } else { $str.="<a href='" . $this->page_replace($i) . "' title='第" . $i . "页'>$i</a>"; } } if ($this->myde_en < $this->myde_page_count) { $str.="<p class='pageEllipsis'>...</p>"; } $str.=$this->myde_next(); $str.=$this->myde_last(); $str.="<p class='pageRemark'>每页100条,共<b>" . $this->myde_page_count . "</b>页<b>" . $this->myde_total . "</b>条记录</p>"; $str.="</div>"; return $str; } } ?>
内容显示页面–数据库连接
$yhming = $_SESSION['user'];require_once('../wtcl/page.class.php'); //分页类 $showrow = 100; //一页显示的行数 $curpage = empty($_GET['page']) ? 1 : $_GET['page']; //当前的页,还应该处理非数字的情况 $url = "?page={page}"; //分页地址,如果有检索条件 ="?page={page}&q=".$_GET['q'] $sql = "SELECT * FROM jsbb_nr WHERE jsbb_yhming='$yhming' ORDER BY jsbb_time DESC"; // asc或desc(即升级或降序)按用户显示WHERE jsbb_yhming='$yhming'$total = mysql_num_rows(mysql_query($sql)); //记录总条数 if (!empty($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow)) $curpage = ceil($total_rows / $showrow); //当前页数大于最后页数,取最后一页 $sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;"; //获取数据$rs_nr = mysql_query($sql);
内容显示页面–数据显示
<?php while($row = mysql_fetch_array($rs_nr)){?><div style="width:200px; height: 20px;"><?=$row['jsbb_biaoti3']?>//显示内容的代码,此处省略<?php } ?>div class="showPage"> <?php if ($total > $showrow) {//总记录数大于每页显示数,显示分页 $page = new page($total, $showrow, $curpage, $url, 2); echo $page->myde_write(); } ?> </div>
0 0
- php分页显示数据库内容
- PHP实现对mysql数据库内容分页显示
- jsp分页显示数据库内容
- PHP分页显示数据库记录
- php访问数据库分页显示
- JSP网页分页显示数据库的内容
- 【ASP】数据库查询的内容分页显示
- php连接数据库并显示表内容
- php分页显示双表查询的内容
- loner_li AJax 无刷新分页--显示数据库表内容 实例
- jsp中利用分页技术显示数据库内容
- jquery 分页显示内容
- 分页显示--订单内容
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)
- JAVA高级【4.8】《Java核心技术2》数据库-JavaWeb分页显示内容——数据库分页查询
- PHP 留言簿(带Oracle数据库分页的显示功能)
- Delphi 7编写的Webservice生成的DLL部署到IIS上(续)
- 产品与运营之用户激励机制
- 使用jsp/servlet简单实现文件上传所遇到的问题
- 哈希表
- 消费者JmsListener应用源码浅析
- php分页显示数据库内容
- 最小生成树(城市之间的最短距离)
- 配置方法数超过 64K 的应用
- copy构造函数的调用时机1和2
- 222. Count Complete Tree Nodes
- APP开发实战148-使用AOP技术输出Log的具体实现
- 【WEB】前端系统配色方案(全览)
- Android底部/顶部滑动菜单,方便调用的工具类
- Java Web乱码 解决request中文乱码的问题