首页 > 后端开发 > 正文

唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?

2024-10-07 05:29:52 | 我爱编程网

唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?很多朋友对这方面很关心,我爱编程网整理了相关文章,供大家参考,一起来看一下吧!

本文目录一览:

唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?

求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;
}
}
?>

唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?我爱编程网

用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; 是什么意思?

唯一的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

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“唯一的30分呀,求php 结果集分页 (isset($_GET['page'])) 里面的isseet; 是什么意思?”相关推荐
PHP分页程序中的$page.=',';和".($pageval-1)."什么意思?为什么要有点?
PHP分页程序中的$page.=',';和".($pageval-1)."什么意思?为什么要有点?

PHP分页显示制作详解前言分页显示是一种非常常见的浏览和显示大量数据的方法属于web编程中最常处理的事件之一对于web编程的老手来说编写这种代码实在是和呼吸一样自然但是对于初学者来说常常对这个问题摸不著头绪因此特地撰写此文对这个问题进行详细的讲解力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解本文适合初学者阅读所有示例代码均使用php编写原理所谓分页

2024-10-16 22:14:07
PHP页面里的,action里的是什么意思?
PHP页面里的,action里的是什么意思?

PHP页面里的,action里的是什么意思?php中是没有action的,这是一般是在用html的表单中的,意思是提交到指定的文件,用法是&lt;formaction='表单提交的文件名'method='提交的方式'&gt;,必需的action属性规定当提交表单时,向何处发送表单数据,举个实例来理解:&lt;html&gt;&lt;head&gt;&lt;/head&gt;&l

2024-10-08 01:38:39
2048是什么意思呀?
2048是什么意思呀?

2048是什么意思呀?2048是一个手机游戏的名称。《2048游戏》是一个令人上瘾的休闲益智2048小游戏,广受世界各地玩家的推崇,你的目标是通过拼接地砖直到拿到2048。2048游戏是以2+2=4数学原理为基本原理,移动一块数字方格,使所有的数字方格朝着你移动的方向移动一格,然后系统会在空白的地方随机生成一格数字方格,相同数字大小的方格相互碰撞会融合,当游戏相加为2048

2024-02-19 21:14:19
php 中 if($_GET['id']) 是什么意思
php 中 if($_GET['id']) 是什么意思

php中if($_GET['id'])是什么意思if($_GET['id'])它的意思:如果$_GET['id']非空,则执行程式一;如果$_GET['id']值为空,则执行程式二.if($_GET['id']){程式一;}else{程式二;}PHP中$_POST和$_GET$_GET就是地址传值,用'?'开始传值,多个值间用'&amp;'号分隔,多用于简单的传值,比

2024-11-21 15:07:33
网页地址中的一个页面“list php?fid= 21”是什么意思
网页地址中的一个页面“list php?fid= 21”是什么意思

PHP中list()函数的用法?list($key,$value)和each()一起使用是将数组当前指针所指向单元的键/值对分别赋值给变量$key,$value注意:是当前单元的噢!下面说说list()的功能和作用在老版本的PHP中list()是和each()一起用来遍历数组的,但是在现在流行PHP5中已经被foreach($arrayas$key=&gt;$value)给代替,

2025-02-19 04:46:22
php里面bcadd是什么意思
php里面bcadd是什么意思

phpasin定义和用法在PHP中,asin()是一个重要的数学函数,它的功能是计算一个数值的反正弦,返回的结果是以弧度为单位,落在-PI/2到PI/2的范围内。这个函数的主要作用是求解三角函数sin()的反函数,即对于给定的弧度值a,asin(a)将返回一个数,使得sin(asin(a))等于a。asin()函数的语法非常简单,其基本形式为asin(x),其中x是必需的参数。x的值必

2024-09-18 08:37:07
千位分隔符是什么意思?
千位分隔符是什么意思?

千位分隔符是什么意思?后一种正确,是用逗号分开的。这个是千位分隔符,方便识别金额。如9,001,234,567.89 从小数点往前每三位数字点一个分位符号第一个是千分位、第二个是百万位、第三个是十亿位。这是英美的计数方法。因为英语中没有“万”的单位,所以“万”是用“十千”表示的,即英语中的“一万”是tenthousand,所以这个逗号是打在千位上的。汉语中“一百万

2024-01-17 04:48:26
PHP中  $row['goods_name']  和 $goods.formated_goods_price  中的 “[ ]”“  .”分别是什么意思??
PHP中 $row['goods_name'] 和 $goods.formated_goods_price 中的 “[ ]”“ .”分别是什么意思??

PHP中$row['goods_name']和$goods.formated_goods_price中的“[]”“.”分别是什么意思??[]是表示数组引用,比如$row就是一个数组,里面包含了很多变量名-&gt;变量值的组合,$row['goods_name']就表示要用这个数组中变量名为goods_name的变量值.是字符串连接运算符。用来连接PHP变量和字符,如$price."元"

2024-11-18 02:01:07