搜档网
当前位置:搜档网 › php 分页类

php 分页类

php 分页类
php 分页类

class Pager

{

var $_total; //记录总数

var $pagesize; //每一页显示的记录数

var $pages; //总页数

var $_cur_page; //当前页码

var $offset; //记录偏移量

var $pernum = 10; //页码偏移量,这里可随意更改

function Pager($total,$pagesize,$_cur_page)

{

$this->_total=$total;

$this->pagesize=$pagesize;

$this->_offset();

$this->_pager();

$this->cur_page($_cur_page);

}

function _pager()//计算总页数

{

return $this->pages = ceil($this->_total/$this->pagesize);

}

function cur_page($_cur_page) //设置页数

{

if (isset($_cur_page)&&$_cur_page!=0)

{

$this->_cur_page=intval($_cur_page);

}

else

{

$this->_cur_page=1; //设置为第一页

}

return $this->_cur_page;

}

//数据库记录偏移量

function _offset()

{

return $this->offset=$this->pagesize*($this->_cur_page-1);

}

//html数字连接的标签

function num_link($tex='?',$url='')

{

$setpage = $this->_cur_page ? ceil($this->_cur_page/$this->pernum) : 1;

$pagenum = ($this->pages > $this->pernum) ? $this->pernum : $this->pages;

if ($this->_total <= $this->pagesize) {

$text = '';

} else {

$text = ''.$this->_cur_page.'/'.$this->pages.' ';

if ($setpage > 1) {

$lastsetid = ($setpage-1)*$this->pernum;

$text .= ' 8 ';

}

if ($this->_cur_page > 1) {

$pre = $this->_cur_page-1;

$text .= '3';

}

$i = ($setpage-1)*$this->pernum;

for($j=$i; $j<($i+$pagenum) && $j<$this->pages; $j++) {

$newpage = $j+1;

if ($this->_cur_page == $j+1) {

$text .= ''.($j+1).'';

} else {

$text .= ''.($j+1).'';

}

}

if ($this->_cur_page < $this->pages){

$next = $this->_cur_page+1;

$text .= '4';

}

if ($setpage < $this->_total) {

$nextpre = $setpage*($this->pernum+1);

if($nextpre<$this->pages)

$text .= '7';

}

}

return $text;

}

//html连接的标签

function link($url, $exc='')

{

global $lang;

$text="

";

$text.= "$lang[pag_total]$this->pages$lang[pags]

$lang[pag_loction]$this->_cur_page$lang[pags] ";

if ($this->_cur_page == 1 && $this->pages>1)

{

//第一页

$text.= "$lang[pag_home] $lang[pag_return] $lang[pag_next] $lang[pag_end]";

}

elseif($this->_cur_page == $this->pages && $this->pages>1)

{

//最后一页

$text.= "$lang[pag_home] $lang[pag_return] $lang[pag_next] $lang[pag_end]";

}

elseif ($this->_cur_page > 1 && $this->_cur_page <= $this->pages)

{

//中间

$text.= "$lang[pag_home] $lang[pag_return] $lang[pag_next] $lang[pag_end]";

}

$text.=" $lang[pag_go]$lang[pags] ";

$text.="

";

return $text;

}

}

PHP+mysql分页原理和实例应用

PHP+mysql分页原理和实例应用 文章来源:https://www.sodocs.net/doc/9814194996.html, 1、SQL语句中的limit用法 SELECT * FROM table …… limit开始位置 , 操作条数 开始位置从0开始 SELECT * FROM table …… limit 0 , 20 取最前面20条 SELECT * FROM table …… limit 10 , 20 11条到20条 2、学习分页的一种公式 (1)分页原理 所谓分页显示,也就是讲数据库中的结果集,一段一段显示出来 (2)需要的条件 怎么分段,当前在第几段 (每页有几条,当前再第几页) 前10条记录:select * from table limit 0,10 第11至20条记录:select * from table limit 10,10 第21至30条记录:select * from table limit 20,10 (3)得到公式 (当前页数 - 1 )X 每页条数 , 每页条数 Select * from table limit ($Page- 1) * $PageSize, $PageSize 3、parse_url()解析URL函数 parse_url() 是讲URL解析成有固定键值的数组的函数 $ua=parse_url("http://username:password@hostname/path?arg=value#anchor"); print_r($ua); 结果: Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor )

PHP实现分页跳转页面功能

$nextpage=$page+1; $SQL="select * from wyx_class order by wyx_classsort asc limit $offset,$each_page"; $Result=mysql_query($SQL); while($Row=mysql_fetch_array($Result)) { $wyx_id=$Row["wyx_id"]; $wyx_classname=$Row["wyx_classname"]; $wyx_classsort=$Row["wyx_classsort"]; ?> 编辑 删除  

1){ //如果页数大于1,则激活显示“前一页”的按钮 ?>

PHP Ajax jQuery 无刷新分页

PHP Ajax jQuery 无刷新分页 冰浪辅助:https://www.sodocs.net/doc/9814194996.html, demo.php文件 ajax分页演示

PHP编程大赛试题

1:要求在一组数中,插入一个新数,并维护原来的排序方式不变 2:用二分法在一个数组中查找你所需元素 3:打印一个杨辉三角 1 11 121 1331 14641 15101051 4:使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 5:写一个二维数组排序函数,能够具有通用性 6:写一个function实现数组内每个元素之间加法的递代运算? 注:数组元素全部为自然数. 例: $data=array(1,2,3); 程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自已本身加法) 1+1=2,1+2=3,1+3=5, 2+2=4,2+3=5, 3+3=6 打印出以下结果 Array ( [0]=>Array ( [0]=>2 [1]=>3 [2]=>4 ) [1]=>Array ( [1]=>4 [2]=>5 ) [2]=>Array ( [2]=>6

) ) 7:设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。 8:设随机抽到A的概率为0.1,B的概率为0.2,C的概率为0.3,D的概率为0.4,现在求按此概率随机抽出一个字母的算法, 9:一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币个数找给小孩。假设提供了数目不限的面值为25美分、10美分、5美分、及1美分的硬币,写一个算法让售货员用最少的硬币个数找给小孩 10:五只猴子采得一堆桃子,猴子彼此约定隔天早起后再分食。不过,就在半夜里,一只猴子偷偷起来,把桃子均分成五堆后,发现还多一个,它吃掉这桃子,并拿走了其中一堆。第二只猴子醒来,又把桃子均分成五堆后,还是多了一个,它也吃掉这个桃子,并拿走了其中一堆。第三只,第四只,第五只猴子都依次如此分食桃子。那么桃子数最少应该有几个呢? 11:公鸡3元每只,母鸡5元每只,小鸡1元3只,一百元钱买一百只鸡。请求出公鸡,母鸡和小鸡的数目。 12:小猴第一天摘下若干枣子,当即吃掉了一半,不过瘾又多吃了一个;第二天吃了剩下的一半又多吃了一个;以后每一天都吃了前一天剩下的一半多一个。到第十天小猴再想吃时,见到只剩下一只枣子了。问第一天这堆枣子有多少? 13:有一艘大船准备用来装载货物。所有待装货物都装在货箱中且所有货箱的大小都一样,但货箱的重量都各不相同。设第i个货箱的重量为wi(1≤i≤n),而货船的最大载重量为c,如何在货船上装入最多的货物。 14:小球从10米高处自由下落,每次弹起的高度是下落高度的70%,当小球弹起的高度不足原高度的千分之一时,小球很快会停止跳动,计算小球在整个弹跳过程中所经历的总路程(忽略弹起高度不足原高度千分之一的部分)。 15、JS下有一个字符串var str='1|2|3|4|5|6#1|2|3|4#1|2|3|4|5|6|7|8';请用“#”号将其分割为数组,再用“|”将其分割为2维数组。可以用例如ary[0][0]这样的各式取出数组中的每个元素。最后输出其中最长数组的编号(1,2,3这样的自然数),这个数组中元素的个数。以及大数组中每个元素。如图:

php实现简单的分页功能

大家在浏览网页的时候,都会看到每篇文章都会会显示“上一页”“下一页”。下面跟大家分享一下如何用php实现简单的分页功能。 首先,先创建一个mysql表: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for `test` -- ---------------------------- DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `id` int(5) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1; 然后在里面插入数据: -- ---------------------------- -- Records of test -- ---------------------------- INSERT INTO `test` VALUES ('1', '张三'); INSERT INTO `test` VALUES ('2', '李四'); INSERT INTO `test` VALUES ('3', '王五'); INSERT INTO `test` VALUES ('4', '赵六');

INSERT INTO `test` VALUES ('5', '阿萨达'); INSERT INTO `test` VALUES ('6', '回火'); INSERT INTO `test` VALUES ('7', 'adada'); 然后新建一个php文件,连接数据库: header("content-type:text/html;charset=UTF-8");//防止页面乱码$link = mysql_connect("localhost","root","") or die("数据库连接失败"); $result = mysql_select_db("test",$link); mysql_query("SET NAMES 'utf8'");//设置数据库连接编码 然后调取数据,并且计算出该表里面总共有多少条数据: function selectdata(){ $sql = "SELECT name FROM `test` ORDER BY id desc"; $arr = array(); $result = mysql_query($sql); while ($array = mysql_fetch_row($result)) { $arr[] = $array; } return $arr; } function selectdatabypages($limit1,$limit2){ $sql = "SELECT name FROM `test` ORDER BY id desc LIMIT $limit1,$limit2";

php试题4

PHP动态网站开发试卷 一,单选题(3分×20,共60分) 1.选择合适的答案填入空白处( ) PHP 是一种______脚本语言,基于______引擎。PHP 最常被用来开发动态的______内容,此外,它同样还可被用来生成______(以及其他)文档。B A.动态,PHP,数据库,HTML B.嵌入式,Zend,HTML,XML C.基于Perl 的,PHP,Web,静态 D.嵌入式,Zend,Docbook 文档,MySQL 2.以下哪种标签不是PHP 起始/结束符?( ) A.<% %> B.// C. D./* */ 3.以下代码哪个不符合PHP 语法?( ) A.$_10 B.${“MyVar”} C.&$something D.$10_somethings 4.如何访问会话变量(session)?( ) A.通过$_GET B.通过$_POST C.通过$_REQUEST D.以上都不对 5.print()和echo()有什么区别?( ) A.print()能作为表达式的一部分,echo()不能B.echo()能作为表达式的一部分,print()不能 C.echo()能在CLI(命令行)版本的PHP 中使用,print()不能 D.print()能在CLI(命令行)版本的PHP 中使用,echo()不能6.配置MySql服务器时可以设置一个管理员账号,其名称是( ) A.admin B.sa C.root D.system 7.如果你的脚本无法正确识别一个存储于另一个平台上的文件的行结尾,你该怎么办?( ) A. 改变auto_detect_line_ending的设置 B. 用正则表达式侦测行的最后一个字母C. 用fpos() D. 用ftok() 8.索引数组的键是______,关联数组的键是______。( ) A. 浮点,字符串 B. 正数,负数 C. 偶数,字符串 D. 整型,字符串 9.如何在类的内部调用mymethod 方法?( ) A. $self=>mymethod(); B. $this->mymethod(); C. $current->mymethod(); D. $this::mymethod(); 10.借助继承,我们可以创建其他类的派生类。那么在PHP 中,子类最多可以继承几个父类?( ) A. 1 个 B. 2 个 C. 取决于系统资源 D. 3 个 11.运行时(run-time)包含一个PHP 脚本使用______,而编译时(compile-time)包含一个PHP 脚本使用______。( ) A. include_once, include B. require, include C. require_once, include D. 以上皆可 12.如果不给cookie 设置过期时间会怎么样?( ) A. 立刻过期 B. 永不过期 C. cookie 无法设置 D. 在浏览器会话结束时过期 13.使用header()函数,它的功能是?( ) A.重定向浏览器 B.页眉函数 C.处理数据头的函数 D.以上都不对 14.下面那个函数是创建一个基于调色板的图像( ) A.imagecreatetruecolor() B.imagecreate() C.imagecolorallocate() D.imagedestroy() 15.输出一个扩展名为.jpg的图片,选用下面那个函数,进行输出( ) A.imagegif() B.imagejpeg() C.imagepng D.以上都不对 16.以下脚本输出什么?$time = strtotime ('2004/01/01');echo date ('H:\i:s', $time); ?> ( ) A. 0:00:00 B. 12:00:00 C. 00:i:00 D. 12:i:00 17.以下脚本在Windows 系统上输出什么?echo strtotime ("November 11, 1952");?> ( ) A. -14462 B. 14462 C.-1 D.0 18.以下代码运行结果( ) A.字符串与整型不可以相加,报错 B.100 C. 101 D.不确定 19.以下代码执行结果为:( )

php,表格制作

竭诚为您提供优质文档/双击可除 php,表格制作 篇一:使用php和jquery制作分页和表格 使用php和jquery制作分页和表格 如果您已经下载了本站提供的baseproject项目源码,后台中列表页面均可作为示例,其中文章列表页面的功能最为丰富。如果您没有下载该源码,相关的js文件可以从获得,示例页面为页面。以下是后台文章列表页面的截图。 分页和表格功能实例截图分页功能详解 分页功能用于当目标数据过多时,为提高页面展示速度采用的一种手段。本文中的分页功能借用了zendFramework 中的zend_paginator对象,分页适配器为 zend_paginator_adapter_null。该适配器也是最简单 易用的一个。工作原理 在php端,分页功能的基本参数为记录总数($countRows)、每页显示的记录数 ($rowsperpage)、当前页码($page默认值为1),页码 数量($items指每次在页面上显示多少个页码,建议为单数)。其他参数可以通过计算得到:

1.页码合计($countpages)取不小于 $countRows/$rowsperpage的整数; 2.起始页码和结束页码的计算方式太长不写了; 3.页码列表:从起始页码到结束页码的页码组成的数组,如array(4,5,6,7,8) 在html端,必要的参数为php端计算得出的数据,同 时需要指定一个用于显示分页信息的html元素。然后使用jquery根据参数动态生成html并将其插入到指定的html元素中 就行了。 php示例代码详解1. 2.publicfunctionarticlesaction(){$pagenumber=$this- >getRequest()->getparam(page,1);//获取当前页码,如果未指定则设为1 3.$sortby=$this->getRequest()->getparam(sortby);// 获取sortby设置 4.if(empty($sortby)||!preg_match(/^[a-z0-9_-]+(asc| desc)$/i,$sortby)){ 5.//如果sortby为空或者不符合格式要求则使用以下

php分页类代码

php分页类代码 GetPagerContent(); echo $pageStr; */ class Pager { private $pageSize = 10; private $pageIndex; private $totalNum; private $totalPagesCount; private $pageUrl; private static $_instance; public function __construct($p_totalNum, $p_pageIndex, $p_pageSize = 10,$p_initNum=3,$p_initMaxNum=5) { if (! isset ( $p_totalNum ) || !isset($p_pageIndex)) { die ( "pager initial error" ); } $this->totalNum = $p_totalNum; $this->pageIndex = $p_pageIndex; $this->pageSize = $p_pageSize; $this->initNum=$p_initNum; $this->initMaxNum=$p_initMaxNum;

2012年网站开发php试题

一、单项选择题(每题2分,共60分) 1.函数header()不可以被用来(B)。 A、转到指定的url B、引用js文件 C、设置HTTP首部信息状态码 D、提示下载文件 2.下列函数中哪一项不是字符串操作函数(B)。 A、tirm() B、isset() C、explode() D、strlen() 3.在PHP中,error_reporting(0)表示(A)。 A、表示关闭所有的错误报告,除编译错误外。 B、表示打开所有的错误报告。 C、表示关闭所有的错误报告,包括编译错误。 D、表示打开所有的错误包括,不包括编译错误。 4.下列有关获取上传文件的信息的预定义数据变量的写法正确的是(D)。 A、$FILES B、_FILES C、__FILES D、$_FILES 5.在PHP中,有关CMS的说法错误的是(D)。 A、CMS是Content Management System的缩写 B、CMS的中文意思是“内容管理系统” C、CMS可以被用来建立网站 D、CMS是一种PHP的开发框架 6.下列选项中对访问控制符public的说法正确的是(B)。 A、有效范围为类的内部和外部,不能被子类所继承。 B、有效范围为类的内部和外部,可以被子类所继承。 C、有效范围为类的内部,可以被子类所继承。 D、有效范围为类的内部,不能被子类所继承。 7.setcookie("vipname","tom",time()+1000); 有关上述代码的描述错误的是(D)。 A、该代码设置了一个变量名为vipname的cookie B、该代码设置了一个变量值为tom的cookie C、该变量的存活期限为1000秒 D、该变量的存活期限为1秒 8.使用$_FILES获取上传文件的大小,大小的单位是(C)。 A、KB B、MB C、B D、BB 9.下列有关于phpmyadmin的说法中正确的是(B)。 A、是一种php专属的web服务器 B、是一种MySQL的管理工具

js多功能分页组件layPage使用方法详解

这篇文章主要为大家详细分享了laypage分页控件使用实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文的主要目的就是为大家分享layPage 多功能的js分页组件具体操作方法,供大家参考,具体内容如下 php 部分 function index(){   header('Content-Type:text/html;charset=utf-8');   // 获取当前页码,默认第一页,设置每页默认显示条数   $nowpage = I('get.page', 1, 'intval');   $limits = 8;   // 获取总条数   $count = M('Article') -> where(array('status'=>array('egt', 0))) -> count();   // 计算总页面   $allpage = ceil($count / $limits);   $allpage = intval($allpage);   $lists = M('Article') -> where(array('status'=>array('egt', 0)))           -> page($nowpage, $limits) // page 方法分页          -> order('createtime desc')           -> select();   // 跳转分页输出   $this -> assign('lists', $lists);   $this -> assign('allpage', $allpage);   $this -> assign('nowpage', $nowpage);   $this->display();   /*   // ajax 分页输出   $info = array('lists'=>$lists,'allpage'=>$allpage,'nowpage'=>$nowpage);   $this->ajaxReturn($info,'json');   */  } js 中laypage(新版本) 跳转分页 // 分页 laypage({   cont: 'show_pages', // 分页容器   pages: "{$allpage}",   // 总页数   skip: true, //是否开启跳页   curr: function(){     var page = "{$nowpage}"; // 当前页(后台获取到的)     return page ? page : 1; // 返回当前页码值   }(),   jump: function(e, first){ //触发分页后的回调(单击页码后)     if(!first){ //一定要加此判断,否则初始时会无限刷新

php代码

PHP常用代码大全 PHP常用代码 1、连接MYSQL数据库代码 2、读取数据库,并实现循环输出 循环的内容......... 3、如何实现分页,包括两个函数,两个调用 1)两个函数

function genpage(&$sql,$page_size=2) { global $prepage,$nextpage,$pages,$sums; //out param $page = $_GET["page"]; $eachpage = $page_size; $pagesql = strstr($sql," from "); $pagesql = "select count(*) as ids ".$pagesql; $conn = mysql_query($pagesql) or die(mysql_error()); if($rs = mysql_fetch_array($conn)) $sums = $rs[0]; $pages = ceil(($sums-0.5)/$eachpage)-1; $pages = $pages>=0?$pages:0; $prepage = ($page>0)?$page-1:0; $nextpage = ($page<$pages)?$page+1:$pages; $startpos = $page*$eachpage; $sql .=" limit $startpos,$eachpage "; } //显示分页 function showpage() { global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function $shownum =10/2; $startpage = ($page>=$shownum)?$page-$shownum:0; $endpage = ($page+$shownum<=$pages)?$page+$shownum:$pages;

php,分页表格代码

竭诚为您提供优质文档/双击可除 php,分页表格代码 篇一:php分页代码超强悍,php经典分页代码,php分页,php怎么实现分页功能,php分页 //连接数据库,获取数据源,修改成你自己的数据库名字就行$link=mysql_connect("localhost","root ","");mysql_select_db("cjcpzc",$link); mysql_query("setnamesutf8"); //执行sql查询..把表名修改成你自己的 $sql="select*fromcjcpzc_event"; $reault=mysql_query($sql); $rows=mysql_num_rows($reault); //分页大小 $pagesize=10; //总页数 $pagecount=ceil($rows/$pagesize); //控制当前页(如果为空则设置成为首页,否则获得当前页)if($_get["pagenow"]==null){ $pagenow=1;

}else{ $pagenow=$_get["pagenow"]; $pagenow=$pagenow+$_get["o"]; //对当前页进行相应控制, if($pagenow if($pagenow>=$pagecount){$pagenow=$pagecount;}//根据当前页进行相应计算 $left=($pagenow-1)*$pagesize; $right=$left+$pagesize; } $sql="select*fromcjcpzc_eventlimit$left,$right";//e cho$pagecount; //输出sql语句,你现在就可以看到分页效果啦….. echo$sql; > 当前:///设置每一页显示的记录数 $conn=mysql_connect("localhost","root","");//连接数据库

PHP中常用的分页类总结

PHP中常用的分页类总结 分页是目前在显示大量结果时所采用的最好的方式。有了下面这些代码的帮助,开发人员可以在多个页面中显示大量的数据。在互联网上,分页是一般用于搜索结果或是浏览全部信息 php基本分页 代码如下复制代码

PHP许愿墙系统

PHP许愿墙程序源码.doc 数据库结构 本站通用配置common/ db_mysql.class.php

//******************************************************* /*** 构造https://www.sodocs.net/doc/9814194996.html,函数*/ function __construct(){ $this->connect(); } /*** 解析函数*/ function __destruct(){ mysql_close($this->Link_ID); } /*** 连接服务器,选择数据库*/ function connect($Database = "",$Host = "",$User = "",$Password = ""){ if ("" == $Database){ $Database = $this->Database; } if ("" == $Host){ $Host = $this->Host; } if ("" == $User){ $User = $this->User; } if ("" == $Password){ $Password = $this->Password; } if ( 0 == $this->Link_ID ) { $this->Link_ID=@mysql_pconnect($Host, $User, $Password); if (!$this->Link_ID) { $this->halt("连接数据库服务端失败!"); } if (!mysql_select_db($this->Database,$this->Link_ID)) { $this->halt("不能打开指定的数据库:".$this->Database); } } return $this->Link_ID; } /*** 释放内https://www.sodocs.net/doc/9814194996.html,存*/ function free(){ if ( @mysql_free_result($this->Query_ID) ) unset ($this->Row_Result); $this->Query_ID = 0; } /*** 执行https://www.sodocs.net/doc/9814194996.html,查询*/ function query($Query_String){ /* 释放上次查询占用的内存*/ if ($this->Query_ID){ $this->free(); } if(0 == $this->Link_ID){ $this->connect(); } //设置中https://www.sodocs.net/doc/9814194996.html,文字符集

dedecms中tags标签分页错误造成的无限空间,解决办法

看到论坛里有人提到dedecms的tags标签中的问题, 这里开个帖子,讲下解决办法吧。 借原图一用 从图中可以看出,tags.php/seo/ 存在着大量的负数的链接 这是因为dedecms tags分页中上一页的判断错误造成的,dedecms的tags默 认是每页有10个链接,当某个tag链接数大于10时,就会分页 dedecms tags分页获得上一页,下一页的判断语句是这样的 //获得上一页和下一页的链接 if($this->PageNo != 1) { $prepage.="

  • 上一页
  • \r\n"; $indexpage="
  • 首页
  • \r\n"; } 这句是说,如果当前页面tags 分页页码不等于1,那么就有上一页

    于是当页面在tags.php?/seo/0/这个页面,分页就成了这样

  • 0