唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!
本文目录一览:
![唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?](/draw/thumb/42197/053b3b6e0f5090bda5c59cc56ee79db1.png)
求php分页代码
////////////////////////////////分页/////////////////////////////
$pageListNum=20;//每页显示10条
$totalPage=0;//总页数
$page=isset($page)?(int)$page:1;//当前页
$start=($page-1)*$pageListNum;//起始编号
$totalPage=ceil($pageNum/$pageListNum);
require_once(WEB_CLASS.'/page_class.php');
$page=new PageClass($page,$totalPage);
$showpage=$page->showPage();
echo $showpage;
///////////////page_class.php////////////////////////
<?php
header("Content-Type:text/html;charset=utf8");
/**
* 分页类
* URL有多个参数也能分页,还能自定义分页样式
* php>=5.0
* @version 0.1.1
* @copyright 2006-2010
* @package class
*/
class PageClass{
private $url;
private $cpage;
private $totalPage;
private $tpl;
/**
* PageClass的构造函数
* 模板说明:{index}表示首页 {pagelist}链接列表 {option}下拉列表框 {next}下一页 {pre}上一页 {cur}当前页 {index=首页}表示首页的链接文字为首页,即=号后为链接文字,不过这对{pagelist}{option}无效
* @param string $cpage 当前页
* @param string $tatolPage 总页数
* @param string $tpl 模板.
* @param string $url 要分页的url 默认为当前页
* @return PageClass
*/
function __construct($cpage,$totalPage,$tpl='',$url=''){
$this->cpage=$cpage;
$this->totalPage=$totalPage;
if(strlen($tpl)==0){
$this->tpl="{cur=当前页}{index=首页} {pre=上一页} {next=下一页} {end=最后页} {option}"; //中文分页
}else{
$this->tpl=$tpl;
}
if(strlen($url)==0){
$this->url=$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
}else{
$this->url=$url;
}
}
/**
* 函数showPage,返回生成的分页HTML
* @return string
*/
function showPage(){
//显示分页
$urlOption=array();//url的后缀如:?page=1&typeid=1
$parse_url=parse_url($this->url);
$urlMain=''.$parse_url['path'];
if($parse_url['query']){
//url有参数
$urlArr=split('&',$parse_url['query']);
if(is_array($urlArr)){
foreach($urlArr as $key=>$value){
$c=split('=',$value);
if($c[0]==page){
}else{
array_push($urlOption,$c[0].'='.$c[1]);
}
}
}
}else{
//url没有参数
//if($this->cpage<$this->totalPage){
// array_push($urlOption,"page=2");
//}
}
if(is_array($urlOption)){
$urlOptionStr_t=implode('&',$urlOption);
}
if(strlen($urlOptionStr_t)>0){
$urlOptionStr.='&'.$urlOptionStr_t;
}
$tplcontent=$this->tpl;//分页模板
$showPage=$tplcontent;
//首页
if (preg_match_all('/\{index=([^}]*+)\}/', $tplcontent, $matches)){
$t_tpl=$matches[0][0]; //模板内容
$t_word=$matches[1][0]; //分页字段
$indexStr='<a href="'.$urlMain.'?page=1'.$urlOptionStr.'">'.$t_word.'</a>';
$showPage=str_replace($t_tpl,$indexStr,$showPage);
}
//当前页
if (preg_match_all('/\{cur=([^}]*+)\}/', $tplcontent, $matches)){
$t_tpl=$matches[0][0];
$t_word=$matches[1][0];
$curStr=$t_word.$this->cpage.'/'.$this->totalPage;
$showPage=str_replace($t_tpl,$curStr,$showPage);
}
//末页
if (preg_match_all('/\{end=([^}]*+)\}/', $tplcontent, $matches)){
$t_tpl=$matches[0][0];
$t_word=$matches[1][0];
$endPage='<a href="'.$urlMain.'?page='.$this->totalPage.$urlOptionStr.'">'.$t_word.'</a>';
$showPage=str_replace($t_tpl,$endPage,$showPage);
}
//上一页
if (preg_match_all('/\{pre=([^}]*+)\}/', $tplcontent, $matches)){
$t_tpl=$matches[0][0];
$t_word=$matches[1][0];
if($this->cpage>1){
$prePage='<a href="'.$urlMain.'?page='.($this->cpage-1).$urlOptionStr.'">'.$t_word.'</a>';
}else{
$prePage=$t_word;
}
$showPage=str_replace($t_tpl,$prePage,$showPage);
}
//下一页
if (preg_match_all('/\{next=([^}]*+)\}/',$tplcontent, $matches)){
$t_tpl=$matches[0][0];
$t_word=$matches[1][0];
if($this->cpage<$this->totalPage && $this->totalPage>1){
$nextPage=' <a href="'.$urlMain.'?page='.($this->cpage+1).$urlOptionStr.'">'.$t_word.'</a>';
}else{
$nextPage=$t_word;
}
$showPage=str_replace($t_tpl,$nextPage,$showPage);
}
//链接列表
if (preg_match("{pagelist}",$tplcontent)){
for($i=1;$i<$this->totalPage+1;$i++){
$linkPage.=' <a href="'.$urlMain.'?page='.$i.$urlOptionStr.'">'.$i.'</a>';
}
$showPage=str_replace('{pagelist}',$linkPage,$showPage);
}
//下拉框分页
if (preg_match("{option}",$tplcontent)){
$optionPage='<select onchange="javascript:window.location='."'".$urlMain."?page='+this.options[this.selectedIndex].value+"."'$urlOptionStr'".';">';
for($i=1;$i<$this->totalPage+1;$i++){
if($i==$this->cpage){
$optionPage.="<option selected='selected' value='$i'>第".$i."页</option>\n";
}else{
$optionPage.="<option value='$i'>第".$i."页</option>\n";
}
}
$optionPage.='</select>';
$showPage=str_replace('{option}',$optionPage,$showPage);
}
return $showPage;
}
}
?>
我爱编程网
用PHP实现分页显示要求实现和图片一样的功能
希望你能用得上!
<?php
function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){
$pagecode = ’’;//定义变量,存放分页生成的HTML
$page = intval($page);//避免非数字页码
$total = intval($total);//保证总记录数值类型正确
if(!$total) return array();//总记录数为零返回空数组
$pages = ceil($total/$pagesize);//计算总分页
//处理页码合法性
if($page<1) $page = 1;
if($page>$pages) $page = $pages;
//计算查询偏移量
$offset = $pagesize*($page-1);
//页码范围计算
$init = 1;//起始页码数
$max = $pages;//结束页码数
$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
$pageoffset = ($pagelen-1)/2;//页码个数左右偏移量
//生成html
$pagecode=’<div class="page">’;
$pagecode.="<span>$page/$pages</span>";//第几页,共几页
//如果是第一页,则不显示第一页和上一页的连接
if($page!=1){
$pagecode.="<a href=\"{$phpfile}?page=1\"><<</a>";//第一页
$pagecode.="<a href=\"{$phpfile}?page=".($page-1)."\"><</a>";//上一页
}
//分页数大于页码个数时可以偏移
if($pages>$pagelen){
//如果当前页小于等于左偏移
if($page<=$pageoffset){
$init=1;
$max = $pagelen;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$pagelen+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}
//生成html
for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.=’<span>’.$i.’</span>’;
} else {
$pagecode.="<a href=\"{$phpfile}?page={$i}\">$i</a>";
}
}
if($page!=$pages){
$pagecode.="<a href=\"{$phpfile}?page=".($page+1)."\">></a>";//下一页
$pagecode.="<a href=\"{$phpfile}?page={$pages}\">>></a>";//最后一页
}
$pagecode.=’</div>’;
return array(’pagecode’=>$pagecode,’sqllimit’=>’ limit ’.$offset.’,’.$pagesize);
}
?>
函数参数:
$page 当前$_GET获得的页码
$total 总记录数
$phpfile 页码连接文件名
$pagesize 不用解释了吧 呵呵
$pagelen 最多显示几个页码 注意(奇数),对称嘛!
函数返回一个数组:
pagecode 索引对应的内容是 生成的HTML 代码
sqllimit 索引对应的是sql limit 后缀
if($page<=$pageoffset){
$init=1;
$max = $pagelen;
}else{//如果当前页大于左偏移
//如果当前页码右偏移超出最大分页数
if($page+$pageoffset>=$pages+1){
$init = $pages-$pagelen+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}
//生成html
for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.=’<span>’.$i.’</span>’;
} else {
$pagecode.="<a href=\"{$phpfile}?page={$i}\">$i</a>";
}
}
if($page!=$pages){
$pagecode.="<a href=\"{$phpfile}?page=".($page+1)."\">></a>";//下一页
$pagecode.="<a href=\"{$phpfile}?page={$pages}\">>></a>";//最后一页
}
$pagecode.="<input type=\"text\" size=\"3\" onkeydown=\"if(event.keyCode==13) {window.location.href=’{$phpfile}?page=’+this.value; return false;}\" /></div>";
return array(’pagecode’=>$pagecode,’sqllimit’=>’ limit ’.$offset.’,’.$pagesize);
}
?>
![唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?](/draw/image/42197/9e40ad9deb54d6ce665ab7b49ac1ef0d.png)
唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?
我爱编程网(https://www.52biancheng.com)小编还为大家带来唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?的相关内容。
首先回答你$_GET['page']是怎么来的:看到上一页和下一页前面的代码了吗(<a href='?page=$prev'>)?$_GET['page']就是由page=$prev而来的,当你点击上一页或者下一页是浏览器地址栏最末尾就会出现"page=xxx"的字样,$_GET['page']就是取得page等号后面的值。
再来说说isset,isset是PHP的一个函数,用来检测变量是否存在,isset($_GET['page'])就是检测$_GET['page']是否存在。
以上就是我爱编程网为大家带来的唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?,希望能帮助到大家!更多相关文章关注我爱编程网:
www.52biancheng.com免责声明:文章内容来自网络,如有侵权请及时联系删除。