php实现简单的分页功能

合集下载

Thinkphp5自定义分页样式显示页码和数量

Thinkphp5自定义分页样式显示页码和数量

Thinkphp5⾃定义分页样式显⽰页码和数量Thinkphp5 ⾃带的分页⽐较简单,本⽂通过修改Bootstrap类⾃定义显⽰分页的页码和数量⼀、修改完成后如下图显⽰⼆、修改Bootstrap代码:1、为了不改动Bootstrap.php源代码,拷贝thinkphp⽬录下的Bootstrap.php重新命名为BootstrapDetailed.php2、BootstrapDetailed代码<?php// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2017 All rights reserved.// +----------------------------------------------------------------------// | Licensed ( /licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: zhangyajun <448901948@>// +----------------------------------------------------------------------namespace think\paginator\driver;use think\Paginator;class BootstrapDetailed extends Paginator{/*** 上⼀页按钮* @param string $text* @return string*/protected function getPreviousButton($text = "上⼀页"){if ($this->currentPage() <= 1) {return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage() - 1);return $this->getPageLinkWrapper($url, $text);}//总数标签protected function totalshow(){$totalhtml="<li class=\"disabled\"><span>共".$this->total."条记录&nbsp&nbsp第".$this->currentPage()."页/共".$this->lastPage()."页</span></li>"; return $totalhtml;}//尾页标签protected function showlastpage($text = '尾页'){if($this->currentPage()==$this->lastPage()){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->lastPage());return $this->getPageLinkWrapper($url, $text);}//⾸页标签protected function showfirstpage($text = '⾸页'){if($this->currentPage()==1){return $this->getDisabledTextWrapper($text);}$url = $this->url(1);return $this->getPageLinkWrapper($url, $text);}//后五页protected function afivepage($text = '后五页'){if($this->lastPage()<$this->currentPage()+5){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage()+5);return $this->getPageLinkWrapper($url, $text);}//前五页protected function bfivepage($text = '前五页'){if($this->currentPage()<5){return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage()-5);return $this->getPageLinkWrapper($url, $text);}/*** 下⼀页按钮* @param string $text* @return string*/protected function getNextButton($text = '下⼀页'){if (!$this->hasMore) {return $this->getDisabledTextWrapper($text);}$url = $this->url($this->currentPage() + 1);return $this->getPageLinkWrapper($url, $text);}//跳转到哪页protected function gopage(){return $gotohtml="<li><form action='' method='get' ><span><input type='text' name='page'> <input type='submit' value='确定'> </span></form></li>"; // return $totalhtml;;}/*** 页码按钮* @return string*/protected function getLinks(){if ($this->simple)return '';$block = ['first' => null,'slider' => null,'last' => null];$side = 2;$window = $side * 2;if ($this->lastPage < $window +1) {$block['slider'] = $this->getUrlRange(1, $this->lastPage);} elseif ($this->currentPage <= $window-1) {$block['slider'] = $this->getUrlRange(1, $window + 1);} elseif ($this->currentPage > ($this->lastPage - $window+1)) {$block['slider'] = $this->getUrlRange($this->lastPage - ($window), $this->lastPage);} else {$block['slider'] = $this->getUrlRange($this->currentPage - $side, $this->currentPage + $side); }$html = '';if (is_array($block['first'])) {$html .= $this->getUrlLinks($block['first']);}if (is_array($block['slider'])) {$html .= $this->getUrlLinks($block['slider']);}if (is_array($block['last'])) {$html .= $this->getUrlLinks($block['last']);}return $html;}/*** 渲染分页html* @return mixed*/public function render(){if ($this->hasPages()) {if ($this->simple) {return sprintf('<ul class="pager">%s %s %s</ul>',$this->getPreviousButton(),$this->getNextButton());} else {return sprintf('<ul class="pagination"> %s %s %s %s %s %s %s %s </ul>',//显⽰数量页码信息$this->totalshow(),//第⼀页$this->showfirstpage(),//上⼀页$this->getPreviousButton(),//前五页$this->bfivepage(),//页码$this->getLinks(),//后五页$this->afivepage(),//下⼀页$this->getNextButton(),//最后⼀页$this->showlastpage()//最后再加个参数 %s 可以显⽰跳转到哪页// $this->gopage());}}}/*** ⽣成⼀个可点击的按钮** @param string $url* @param int $page* @return string*/protected function getAvailablePageWrapper($url, $page){return '<li><a href="' . htmlentities($url) . '">' . $page . '</a></li>'; }/*** ⽣成⼀个禁⽤的按钮** @param string $text* @return string*/protected function getDisabledTextWrapper($text){return '<li class="disabled"><span>' . $text . '</span></li>';}/*** ⽣成⼀个激活的按钮** @param string $text* @return string*/protected function getActivePageWrapper($text){return '<li class="active"><span>' . $text . '</span></li>';}/*** ⽣成省略号按钮** @return string*/protected function getDots($text = '...'){//$url = $this->url($this->currentPage() + 1);// return $this->getPageLinkWrapper($url, $text);return $this->getDisabledTextWrapper('...');}/*** 批量⽣成页码按钮.** @param array $urls* @return string*/protected function getUrlLinks(array $urls){$html = '';foreach ($urls as $page => $url) {$html .= $this->getPageLinkWrapper($url, $page);}return $html;}/*** ⽣成普通页码按钮** @param string $url* @param int $page* @return string*/protected function getPageLinkWrapper($url, $page){if ($page == $this->currentPage()) {return $this->getActivePageWrapper($page);}return $this->getAvailablePageWrapper($url, $page); }}3、使⽤⽅法$test=Db::name("test")->paginate(2,false,['type'=>'BootstrapDetailed']);。

php分页代码

php分页代码
<td width="76%">
<font size=4><?php print "总共$RecordCount record(s) 条记录 - 当前页: $PageNo of $MaxPage" ?></font>
</td>
</tr>
}else{
$CounterStart = $PageNo - ($PageNo % $PageSize) + 1;
}
//显示页码的最大值
$CounterEnd = $CounterStart + ($PageSize - 1);
?>
<html>
<head>
<title>分页显示记录</title>
<?php
$i++;
}?>
</table>
<br>
<table width="100%" border="0" class="InternalHeader">
<tr>
<td>
<div align="center">
<?php
echo "<font size=4>";
print "$c ";
break;
}else{
echo "<a href=wen.php?PageNo=$c>$c</a> ";

thinkphp的paginate方法

thinkphp的paginate方法

thinkphp的paginate方法thinkphp的paginate方法是一种用于分页的功能,它可以帮助我们在网页中将大量数据分成多个页面展示,提高用户的浏览效率。

在本文中,我将详细介绍paginate方法的使用方法和功能。

我们需要明确paginate方法的基本语法。

在thinkphp中,我们可以通过以下方式来使用paginate方法:```$list = Db::name('table')->paginate(10);```上述代码中,我们使用了Db类的name方法来指定要查询的数据表,然后调用paginate方法并传入参数10,表示每页显示10条记录。

paginate方法会返回一个分页对象,我们可以通过该对象来获取分页的相关信息和数据。

接下来,我们可以通过分页对象获取分页的相关信息,如总记录数、每页显示的记录数、当前页码等。

例如,我们可以使用以下代码来获取总记录数:```$total = $list->total();```上述代码中,我们调用了分页对象的total方法来获取总记录数。

类似地,我们还可以使用其他方法来获取分页的相关信息,如:```$perPage = $list->listRows(); // 每页显示的记录数$currentPage = $list->currentPage(); // 当前页码$totalPages = $list->lastPage(); // 总页数```除了获取分页信息外,paginate方法还可以帮助我们获取当前页的数据。

例如,我们可以使用以下代码来获取当前页的数据:```$data = $list->items();```上述代码中,我们调用了分页对象的items方法来获取当前页的数据,返回的是一个数组。

在实际应用中,我们通常需要将分页的相关信息和数据传递给视图层进行展示。

我们可以通过以下方式来实现:```$this->assign('list', $list); // 将分页对象赋值给模板变量```然后在视图层中,我们可以使用thinkphp提供的分页模板标签来展示分页导航和数据列表。

ftlh 模板调用分页方法

ftlh 模板调用分页方法

ftlh 模板调用分页方法在ftlh模板中,可以使用以下方式调用分页方法:1. 在ftlh模板中,使用`pagination`标签来定义分页区域。

例如:```phppagination({"total": 100,"pageSize": 10,"currentPage": 1,"layout": "total,pager,list,limit","maxButtons": 7,"firstPageText": "首页","lastPageText": "尾页","prevPageText": "上一页","nextPageText": "下一页"})```2. 在ftlh模板中,使用`for`标签来遍历分页数据。

例如:```phpfor(item in ) {<!-- 输出数据 -->{{ item }}}```3. 在ftlh模板中,使用`getPaginationInfo`函数来获取分页信息。

例如:```phpgetPaginationInfo(pagination) {{{ "当前页码:" + currentPage }}{{ "总页数:" + totalPages }}}```在上面的示例中,`pagination`参数是分页对象,可以通过它来获取分页相关的属性和方法。

你可以根据实际需求调用不同的方法来获取分页信息。

腾讯音乐php面试题(3篇)

腾讯音乐php面试题(3篇)

第1篇一、基础题1. 请简述PHP的运行原理。

PHP是一种解释型、服务器端脚本语言,它将代码作为指令集进行解析执行。

当用户请求一个PHP页面时,服务器会解析PHP代码,执行其中的语句,并将结果返回给用户。

2. 请解释PHP中的全局变量、局部变量和静态变量的区别。

全局变量:在PHP文件中定义,在文件中的任何位置都可以访问,默认以$前缀命名。

局部变量:在函数内部定义,仅在函数内部有效。

静态变量:在函数内部定义,即使函数执行结束,静态变量的值也不会消失,下次调用函数时仍然可以访问。

3. 请简述PHP中的魔术方法。

魔术方法是指在类中,以两个下划线开头的特殊方法。

PHP中常见的魔术方法有:- __construct():构造方法,当创建对象时自动调用。

- __destruct():析构方法,当对象被销毁时自动调用。

- __get():获取器,用于获取私有属性的值。

- __set():设置器,用于设置私有属性的值。

- __isset():用于检查一个属性是否已设置。

- __unset():用于删除一个属性。

- __call():当调用不存在的方法时,自动调用此方法。

- __toString():当对象转换为字符串时,自动调用此方法。

4. 请解释PHP中的数组和对象。

数组:是一种有序的数据结构,可以存储多个相同或不同类型的数据。

对象:是一种自定义的数据类型,可以包含属性和方法。

5. 请简述PHP中的类型提示。

类型提示是一种在定义变量时指定变量类型的语法。

PHP中的类型提示主要有以下几种:- 强制类型提示:使用类型名称后跟冒号,例如int $num = 10;- 非强制类型提示:使用类型名称后跟冒号,例如?int $num = 10;二、进阶题1. 请解释PHP中的命名空间。

命名空间是用于组织代码的一种方式,可以避免命名冲突。

在PHP中,使用命名空间可以定义全局命名空间和局部命名空间。

2. 请简述PHP中的异常处理。

paginate thinkphp5 页数 -回复

paginate thinkphp5 页数 -回复

paginate thinkphp5 页数-回复thinkphp5 是一款轻量级的PHP开发框架,它采用了MVC设计模式,为Web应用程序开发提供了许多便利和高效的功能。

其中一个非常实用的功能就是分页,可以帮助我们在处理大量数据时进行分页展示和优化查询。

本文将详细介绍thinkphp5中的分页功能。

一、thinkphp5中的分页功能thinkphp5提供了一个Paginator类来实现分页功能。

我们可以通过Paginator类的实例来设置分页的参数,并通过简单的代码来获取分页数据。

Paginator类提供了许多方便的方法,可以满足不同的分页需求。

二、分页参数设置在使用分页功能之前,我们需要先设置分页的参数。

Paginator类的构造函数接受三个参数,分别是总记录数、每页显示的记录数和当前页码。

我们可以根据实际情况传入这些参数。

具体的设置方法如下:phpuse think\Paginator;total = 100; 总记录数pageSize = 10; 每页显示的记录数page = input('page', 1); 当前页码,默认为1paginate = new Paginator(total, pageSize, page);在这个例子中,我们假设总记录数为100,每页显示10条记录,当前页码通过获取用户输入的参数获取,默认为1。

三、获取分页数据有了分页参数之后,我们就可以使用Paginator类的方法来获取分页数据了。

Paginator类的paginate()方法接受一个查询结果集或数组,并返回当前页码的分页数据。

我们可以通过链式调用paginate()方法来获取分页数据。

具体的获取方法如下:phpuse think\Db;articles = Db::name('article')->paginate(paginate->listRows, false, ['query'=>request()->param()]);在这个例子中,我们通过Db类的name()方法来获取数据库中的article 表,并通过paginate()方法获取当前页的分页数据。

thinkphp5.1 分页使用实例

thinkphp5.1 分页使用实例

thinkphp5.1 分页使用实例一、概述ThinkPHP5.1是一款流行的PHP框架,提供了许多方便的功能和组件,其中之一就是分页功能。

本篇文章将介绍如何在ThinkPHP5.1中使用分页,以及如何在实际应用中进行分页操作。

二、分页原理分页是网站中常见的需求,通过分页可以方便地展示大量数据,同时避免页面加载过慢的问题。

在ThinkPHP5.1中,分页的实现原理主要是通过查询结果集的分段处理来实现的。

通过设置每页显示的数据量,系统会自动计算出当前页需要的数据范围,并返回给用户。

三、分页使用步骤1. 引入分页组件:在ThinkPHP5.1中,分页功能是由第三方组件提供的,需要在项目中引入该组件。

可以通过在文件顶部添加以下代码来引入分页组件:```phpuse think\facade\View;use think\facade\Db;```2. 查询数据并设置分页参数:在获取数据之前,需要先设置分页参数,包括当前页码、每页显示的数据量等。

可以通过以下代码来设置分页参数:```php$page = 2; // 当前页码$size = 5; // 每页显示的数据量$result = Db::name('table_name')->paginate($page, $size) // 使用分页方法获取数据->setField('order_by', 'column_name'); // 设置排序字段(可选)```其中,`table_name`是要查询的表名,`column_name`是排序字段名。

通过调用`paginate`方法,系统会自动处理分页逻辑,并返回一个包含当前页数据的对象。

3. 渲染分页视图:将分页数据传递给视图文件,进行展示。

可以使用以下代码将分页数据传递给视图文件:```phpreturn View::fetch('page', ['data' => $result]); // 获取分页数据并传递给视图文件```在视图中,可以使用模板标签来显示分页信息和数据内容。

超好用的thinkphp5.0thinkphp5.1分页插件!详细使用步骤(内附代码)

超好用的thinkphp5.0thinkphp5.1分页插件!详细使用步骤(内附代码)

超好⽤的thinkphp5.0thinkphp5.1分页插件!详细使⽤步骤(内附代码)效果tp5.0使⽤⽅法page下载地址: 提取码:s75k1,把page⽂件夹整个⽬录复制到⽬录extend下2,修改默认配置 app/config.php把⾥⾯的'paginate' => ['type' => 'page\Page',//修改这个原始为bootstrap'var_page' => 'page','list_rows' => 5,],3,控制器中 ,参考⼀下$name=$request->param('name');//接受参数⼀定要⽤param接收可以接收post和get$where=[['status','eq',1]];if (!empty($name)){$where[]=['name','like',"%$name%"];}$delList=Db::table('staff')->where($where)->order('id asc')->paginate(4,false,['query'=>$request->param()]);4,视图中{$delList->render()}tp5.1使⽤⽅法1,把page⽂件夹整个⽬录复制到⽬录extend下2,控制器中的⽅法public function index(Request $request){$name=$request->param('name');//接受参数⼀定要⽤param接收可以接收post和get$where=[['status','eq',1]];if (!empty($name)){$where[]=['name','like',"%$name%"];}$list=Db::table('staff')->where($where)->order('id asc')->paginate(12,false,['query'=>$request->param(),'type' => 'page\Page','var_page' => 'page']); $page=$list->render();//paginate第⼀个参数为每页显⽰的条数//paginate第⼆个参数为简单模式或总数//paginate第三个参数为分页的条件也可以写数组//总条数$allData=Db::table('staff')->where('status',1)->count();$this->assign('list',$list);$this->assign('page',$page);$this->assign('count',$allData);return $this->fetch('staff-list');}3,视图中,⼀定要写raw,具体含义看⽂档{$page|raw}Page.php 如下图<?phpnamespace page;// +----------------------------------------------------------------------// | ThinkPHP [ WE CAN DO IT JUST THINK ]// +----------------------------------------------------------------------// | Copyright (c) 2006~2017 All rights reserved.// +----------------------------------------------------------------------// | Licensed ( /licenses/LICENSE-2.0 )// +----------------------------------------------------------------------// | Author: zhangyajun <448901948@>// +----------------------------------------------------------------------use think\Paginator;class Page extends Paginator{//⾸页protected function home() {if ($this->currentPage() > 1) {return "<a href='" . $this->url(1) . "' title='⾸页'>⾸页</a>";} else {return "<p>⾸页</p>";}}//上⼀页protected function prev() {if ($this->currentPage() > 1) {return "<a href='" . $this->url($this->currentPage - 1) . "' title='上⼀页'>上⼀页</a>";} else {return "<p>上⼀页</p>";}}//下⼀页protected function next() {if ($this->hasMore) {return "<a href='" . $this->url($this->currentPage + 1) . "' title='下⼀页'>下⼀页</a>";} else {return"<p>下⼀页</p>";}}//尾页protected function last() {if ($this->hasMore) {return "<a href='" . $this->url($this->lastPage) . "' title='尾页'>尾页</a>";} else {return "<p>尾页</p>";}}//统计信息protected function info(){return "<p class='pageRemark'>共<b>" . $this->lastPage ."</b>页 <b>" . $this->total . "</b>条数据</p>";}/*** 页码按钮* @return string*/protected function getLinks(){$block = ['first' => null,'slider' => null,'last' => null];$side = 3;$window = $side * 2;if ($this->lastPage < $window + 6) {$block['first'] = $this->getUrlRange(1, $this->lastPage);} elseif ($this->currentPage <= $window) {$block['first'] = $this->getUrlRange(1, $window + 2);$block['last'] = $this->getUrlRange($this->lastPage - 1, $this->lastPage);} elseif ($this->currentPage > ($this->lastPage - $window)) {$block['first'] = $this->getUrlRange(1, 2);$block['last'] = $this->getUrlRange($this->lastPage - ($window + 2), $this->lastPage);} else {$block['first'] = $this->getUrlRange(1, 2);$block['slider'] = $this->getUrlRange($this->currentPage - $side, $this->currentPage + $side);$block['last'] = $this->getUrlRange($this->lastPage - 1, $this->lastPage);}$html = '';if (is_array($block['first'])) {$html .= $this->getUrlLinks($block['first']);}if (is_array($block['slider'])) {$html .= $this->getDots();$html .= $this->getUrlLinks($block['slider']);}if (is_array($block['last'])) {$html .= $this->getDots();$html .= $this->getUrlLinks($block['last']);}return$html;}/*** 渲染分页html* @return mixed*/public function render(){if ($this->hasPages()) {if ($this->simple) {return sprintf('%s<div class="pagination">%s %s %s</div>',$this->css(),$this->prev(),$this->getLinks(),$this->next());} else {return sprintf('%s<div class="pagination">%s %s %s %s %s %s</div>',$this->css(),$this->home(),$this->prev(),$this->getLinks(),$this->next(),$this->last(),$this->info());}}}/*** ⽣成⼀个可点击的按钮** @param string $url* @param int $page* @return string*/protected function getAvailablePageWrapper($url, $page){return '<a href="' . htmlentities($url) . '" title="第"'. $page .'"页" >' . $page . '</a>';}/*** ⽣成⼀个禁⽤的按钮** @param string $text* @return string*/protected function getDisabledTextWrapper($text){return '<p class="pageEllipsis">' . $text . '</p>';}/*** ⽣成⼀个激活的按钮** @param string $text* @return string*/protected function getActivePageWrapper($text){return '<a href="" class="cur">' . $text . '</a>';}/*** ⽣成省略号按钮** @return string*/protected function getDots(){return$this->getDisabledTextWrapper('...');}/*** 批量⽣成页码按钮.** @param array $urls* @return string*/protected function getUrlLinks(array$urls){$html = '';foreach ($urls as$page => $url) {$html .= $this->getPageLinkWrapper($url, $page); }return$html;}/*** ⽣成普通页码按钮** @param string $url* @param int $page* @return string*/protected function getPageLinkWrapper($url, $page){if ($page == $this->currentPage()) {return$this->getActivePageWrapper($page);}return$this->getAvailablePageWrapper($url, $page); }/*** 分页样式*/protected function css(){return ' <style type="text/css">.pagination p{margin:0;cursor:pointer}.pagination{height:40px;padding:20px 0px;}.pagination a{display:block;float:left;margin-right:10px;padding:2px 12px;height:24px;border:1px #cccccc solid;background:#fff;text-decoration:none;color:#808080;font-size:12px;line-height:24px;}.pagination a:hover{color:#077ee3;background: white;border:1px #077ee3 solid;}.pagination a.cur{border:none;background:#077ee3;color:#fff;}.pagination p{float:left;padding:2px 12px;font-size:12px;height:24px;line-height:24px;color:#bbb;border:1px #ccc solid;background:#fcfcfc;margin-right:8px;}.pagination p.pageRemark{border-style:none;background:none;margin-right:0px;padding:4px 0px;color:#666;}.pagination p.pageRemark b{color:red;}.pagination p.pageEllipsis{border-style:none;background:none;padding:4px 0px;color:#808080;}.dates li {font-size: 14px;margin:20px 0}.dates li span{float:right}</style>';}}-----------------------------------------------------------------------优化如下:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大家在浏览网页的时候,都会看到每篇文章都会会显示“上一页”“下一页”。

下面跟大家分享一下如何用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";
$arr = array();
$result = mysql_query($sql);
while ($array = mysql_fetch_row($result)) {
$arr[] = $array;
}
return $arr;
}
function countdata(){
$sql = "SELECT name FROM `test` ORDER BY id desc"; $query = mysql_query($sql);
$num = mysql_num_rows($query);
return $num;
}
最后,来制作页码:
$page = @$_GET["page"];
if ($page == null) {
$page = 1;
}
$each_disNums=5;//每次显示的条数
$pageNums = ceil($num / $each_disNums);//总页数
$startPage=($page-1)*$each_disNums;//开始每一页的第一条记录echo "<a href=index.php?page=".($page-1).">上一页</a>";
echo "<a href=index.php?page=".($page+1).">下一页</a>";
echo '共有' . $num . '条数据' . '共' . $pageNums . '页';
下面是完整的代码:
<?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'");
$data = selectdata();
$num = countdata();
$page = @$_GET["page"];
if ($page == null) {
$page = 1;# code...
}
$each_disNums=5;//每次显示的条数
$pageNums = ceil($num / $each_disNums);//总页数
$startPage=($page-1)*$each_disNums;//开始每一页的第一条记录$arr = selectdatabypages($startPage,$each_disNums);
foreach ($arr as $key => $value) {
$name = $value[0];
echo "姓名:" . $name ."<br>";
}
echo "<a href=index.php?page=".($page-1).">上一页</a>"; echo "<a href=index.php?page=".($page+1).">下一页</a>"; echo '共有' . $num . '条数据' . '共' . $pageNums . '页'; 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";
$arr = array();
$result = mysql_query($sql);
while ($array = mysql_fetch_row($result)) {
$arr[] = $array;
}
return $arr;
}
function countdata(){
$sql = "SELECT name FROM `test` ORDER BY id desc"; $query = mysql_query($sql);
$num = mysql_num_rows($query);
return $num;
}
?>。

相关文档
最新文档