php分页例子
代码如下 |
复制代码 |
xmlns="http://www.**w*3.org/1999/xhtml">
php make page list
ID | title | include "conn.php";
$Page_size=10;
$result=mysql_query('select * from huazhuangpin');
$count = mysql_num_rows($result);
$page_count = ceil($count/$Page_size);
$init=1; $page_len=7; $max_p=$page_count; $pages=$page_count;
//判断当前页码
if(empty($_GET['page'])||$_GET['page']
$offset=$Page_size*($page-1);
$sql="select * from huazhuangpin limit $offset,$Page_size"; $result=mysql_query($sql);
while ($row=mysql_fetch_array($result)) { ?>
| |
$key='
'; $key.="$page/$pages "; //第几页,共几页 if($page!=1){ $key.=" "; //第一页 $key.=""; //上一页 }else { $key.="第一页 ";//第一页 $key.="上一页"; //上一页 } if($pages>$page_len){ //如果当前页小于等于左偏移 if($page=$pages+1){ $init = $pages-$page_len+1; }else{ //左右偏移都存在时的计算 $init = $page-$pageoffset; $max_p = $page+$pageoffset; } } } for($i=$init;$i'.$i.''; } else { $key.=" "; } } if($page!=$pages){ $key.=" ";//下一页 $key.=""; //最后一页 }else { $key.="下一页 ";//下一页 $key.="最后一页"; //最后一页 } $key.=' '; ?> |
|
分析此例子
代码片段一
代码如下 |
复制代码 |
$Page_size=10;
$result=mysql_query('select * from huazhuangpin');
$count = mysql_num_rows($result);
$page_count = ceil($count/$Page_size);
|
这代码是从数据库中先获取数据库总记录然后再利用$count/$Page_size(总记录除上每天多少条记录得出有多少页记录并且赋值给$page_coun
代码片段二
代码如下 |
复制代码 |
$offset=$Page_size*($page-1);
$sql="select * from huazhuangpin limit $offset,$Page_size"; $result=mysql_query($sql);
|
这代码核心部份是$offset=$Page_size*($page-1); 这个是利用我们获取的当前页面-1然后判断总记录在多少条再在sql中实现从X,y条记录读取limit $offset,$Page_size 这样就实现了分页获取记录了
代码片段三
代码如下 |
复制代码 |
if(empty($_GET['page'])||$_GET['page']
|
这段代码是获取page如果page为空就默认为第一页,否则就获取当前页面页码给$page变量以后面的程序作参考值处理。