PHP分页函数代码(简单实用型)

  准备数据:

  新建一个数据库 test

  执行下面的语句(新建一个表 test :id、sex、name 三个字段)

  CREATE TABLE `test` (

  `id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,

  `sex` INT( 1 ) NOT NULL ,

  `name` VARCHAR( 20 ) NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin;

  添加数据到 test 表,比如:

  1 1 小强

  2 0 小红

  3 0 小丽

  4 1 小兵

  5 1 张三

  6 0 李四

  7 0 吴欣

PHP分页函数代码(简单实用型)

  写PHP语句(index.php):

  

复制代码 代码如下:

  <?php

  // Page分页函数

  $page = $_GET["page"];

  function Page($rows,$page_size){

  global $page,$select_from,$select_limit,$pagenav;

  $page_count = ceil($rows/$page_size);

  if($page <= 1 || $page == '') $page = 1;

  if($page >= $page_count) $page = $page_count;

  $select_limit = $page_size;

  $select_from = ($page - 1) * $page_size.',';

  $pre_page = ($page == 1)? 1 : $page - 1;

  $next_page= ($page == $page_count)? $page_count : $page + 1 ;

  $pagenav .= "第 $page/$page_count 页 共 $rows 条记录 ";

  $pagenav .= "<a href='?page=1'>首页</a> ";

  $pagenav .= "<a href='?page=$pre_page'>前一页</a> ";

  $pagenav .= "<a href='?page=$next_page'>后一页</a> ";

  $pagenav .= "<a href='?page=$page_count'>末页</a>";

  $pagenav.=" 跳到<select name='topage' size='1' onchange='window.location=\"?page=\"+this.value'>\n";

  for($i=1;$i<=$page_count;$i++){

  if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";

  else $pagenav.="<option value='$i'>$i</option>\n";

  }

  } // Page分页函数

  // 使用示例

  if (!$conn= mysql_connect("localhost", "root" ,"root")) die('数据库选择失败!');

  if (!mysql_select_db("test", $conn)) die('数据库选择失败!');

  mysql_query('set names GBK');

  // 用Page函数计算出 $select_from 从哪条记录开始检索、$pagenav 输出分页导航

  $rows = mysql_num_rows(mysql_query("select * from test"));

  Page($rows,2);

  $sql = "select * from test limit $select_from $select_limit";

  $rst = mysql_query($sql);

  while ($row = mysql_fetch_array($rst)){

  echo "$row[id] - $row[sex] - $row[name] <hr />";

  }

  echo $pagenav;

  ?>

  浏览 index.php 页面,如图:

PHP分页函数代码(简单实用型)

  该说byebye了,确实好用!

  PHP简单分页函数

  写了一个php简单的分页函数,数据库调用也写到里面了 ,用的人可以自行删减!

  

复制代码 代码如下:

  function getask(){

  $sql = "select * from cms_ask where ansower <> ' ' ";

  //这里要改成方法

  $q_sq = mysql_query($sql);

  $count = mysql_num_rows($q_sq);

  $page_size = 8;

  $page_current = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1;

  $page_count = ceil($count / $page_size);

  $page_start = $page_current - 4;

  $page_end = $page_current + 4;

  if ($page_current < 5) {

  $page_start = 1;

  $page_end = 5;

  }

  if ($page_current > $page_count - 4) {

  $page_start = $page_count - 8;

  $page_end = $page_count;

  }

  if ($page_start < 1)

  $page_start = 1;

  if ($page_end > $page_count)

  $page_end = $page_count;

  $pagebar = "";

  $sql = "select * from cms_ask where ansower <> ' ' order by id desc limit " . (($page_current - 1) * $page_size) . "," . $page_size;

  $row=$this -> user -> getall("$sql");

  foreach($row as $v){

  echo '<dl><dt>问:'.$v["question"].'</dt><dd>答:'.$v["ansower"].date("Y-m-d H:i:s",$v["postTime"]).'</dd></dl>';

  }

  $pagebar .= "<div class=\"page\">";

  $pagebar .= "<ol>";

  if ($page_current != 1) {

  $pagebar .= '<li><a href="javascript:get_comment(1)" class="sx">FIRST</a></li>';

  }

  for ($i = $page_start; $i <= $page_end; $i++) {

  if ($i == $page_current) {

  $pagebar .= "<li><span class=\"sort\">" . $i . "</span></li>";

  } else {

  $pagebar .= "<li><a href='javascript:get_comment(" . $i . ")'>" . $i . "</a></li>";

  }

  }

  if ($page_current != $page_count) {

  $pagebar .= "<li><a href='javascript:get_comment(" . $page_count . ")' class='sx'>END</a></li>";

  }

  $pagebar .= "</ol>";

  $pagebar .= " </div>";

  echo $pagebar;

  }