网站建设资讯

NEWS

网站建设资讯

php数据库记录分页 php分页查询

php分页功能怎么实现

php本身是没有分页概念的,分页是URL传参,然后通过mysql查询语句到数据库获取数据,然后实现的分页,url上的参数,通过PHP的$_GET都是可以获取到的。

瓦房店网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

现在市面上的PHP框架基本都有PHP分页类,参照文档直接调用就好了,如果想看实现过程,可以去下载一个TP框架,然后打开里面的分页类查看里面的源代码。

怎么用PHP获取SQL表数据记录分页显示

?php

class Page {

private $total; //数据表中总记录数

private $listRows; //每页显示行数

private $limit;

private $uri;

private $pageNum; //页数

private $config=array('header'="个记录", "prev"="上一页", "next"="下一页", "first"="首 页", "last"="尾 页");

private $listNum=8;

/*

* $total 

* $listRows

*/

public function __construct($total, $listRows=10, $pa=""){

$this-total=$total;

$this-listRows=$listRows;

$this-uri=$this-getUri($pa);

$this-page=!empty($_GET["page"]) ? $_GET["page"] : 1;

$this-pageNum=ceil($this-total/$this-listRows);

$this-limit=$this-setLimit();

}

private function setLimit(){

return "Limit ".($this-page-1)*$this-listRows.", {$this-listRows}";

}

private function getUri($pa){

$url=$_SERVER["REQUEST_URI"].(strpos($_SERVER["REQUEST_URI"], '?')?'':"?").$pa;

$parse=parse_url($url);

if(isset($parse["query"])){

parse_str($parse['query'],$params);

unset($params["page"]);

$url=$parse['path'].'?'.http_build_query($params);

}

return $url;

}

private function __get($args){

if($args=="limit")

return $this-limit;

else

return null;

}

private function start(){

if($this-total==0)

return 0;

else

return ($this-page-1)*$this-listRows+1;

}

private function end(){

return min($this-page*$this-listRows,$this-total);

}

private function first(){

if($this-page==1)

$html.='';

else

$html.="nbsp;nbsp;a href='javascript:setPage(\"{$this-uri}page=1\")'{$this-config["first"]}/anbsp;nbsp;";

return $html;

}

private function prev(){

if($this-page==1)

$html.='';

else

$html.="nbsp;nbsp;a href='javascript:setPage(\"{$this-uri}page=".($this-page-1)."\")'{$this-config["prev"]}/anbsp;nbsp;";

return $html;

}

private function pageList(){

$linkPage="";

$inum=floor($this-listNum/2);

for($i=$inum; $i=1; $i--){

$page=$this-page-$i;

if($page1)

continue;

$linkPage.="nbsp;a href='javascript:setPage(\"{$this-uri}page={$page}\")'{$page}/anbsp;";

}

$linkPage.="nbsp;{$this-page}nbsp;";

for($i=1; $i=$inum; $i++){

$page=$this-page+$i;

if($page=$this-pageNum)

$linkPage.="nbsp;a href='javascript:setPage(\"{$this-uri}page={$page}\")'{$page}/anbsp;";

else

break;

}

return $linkPage;

}

private function next(){

if($this-page==$this-pageNum)

$html.='';

else

$html.="nbsp;nbsp;a href='javascript:setPage(\"{$this-uri}page=".($this-page+1)."\")'{$this-config["next"]}/anbsp;nbsp;";

return $html;

}

private function last(){

if($this-page==$this-pageNum)

$html.='';

else

$html.="nbsp;nbsp;a href='javascript:setPage(\"{$this-uri}page=".($this-pageNum)."\")'{$this-config["last"]}/anbsp;nbsp;";

return $html;

}

private function goPage(){

return 'nbsp;nbsp;input type="text" onkeydown="javascript:if(event.keyCode==13){var page=(this.value'.$this-pageNum.')?'.$this-pageNum.':this.value;setPage(\''.$this-uri.'page=\'+page+\'\')}" value="'.$this-page.'" style="width:25px"input type="button" value="GO" onclick="javascript:var page=(this.previousSibling.value'.$this-pageNum.')?'.$this-pageNum.':this.previousSibling.value;setPage(\''.$this-uri.'page=\'+page+\'\')"nbsp;nbsp;';

}

function fpage($display=array(0,1,2,3,4,5,6,7,8)){

$html[0]="nbsp;nbsp;共有b{$this-total}/b{$this-config["header"]}nbsp;nbsp;";

$html[1]="nbsp;nbsp;每页显示b".($this-end()-$this-start()+1)."/b条,本页b{$this-start()}-{$this-end()}/b条nbsp;nbsp;";

$html[2]="nbsp;nbsp;b{$this-page}/{$this-pageNum}/b页nbsp;nbsp;";

$html[3]=$this-first();

$html[4]=$this-prev();

$html[5]=$this-pageList();

$html[6]=$this-next();

$html[7]=$this-last();

$html[8]=$this-goPage();

$fpage='';

foreach($display as $index){

$fpage.=$html[$index];

}

return $fpage;

}

}

PHP显示很多数据库信息,如何自动分页呢?代码

PHP代码如下:

/*

Author:默默

Date :2006-12-03

*/

$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。

$num=10; //每页显示10条数据

$db=mysql_connect("host","name","pass"); //创建数据库连接

$select=mysql_select_db("db",$db); //选择要操作的数据库

/*

首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是

总数据数除以每页显示的条数,有余进一。

也就是说10/3=3.3333=4 有余数就要进一。

*/

$total=mysql_num_rows(mysql_query("select id from table")); //查询数据的总数,id是数据库中的一个自动赋值的字段

$pagenum=ceil($total/$num); //获得总页数

//假如传入的页数参数大于总页数,则显示错误信息

If($page$pagenum || $page == 0){

Echo "Error : Can Not Found The page .";

Exit;

}

$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。

$info=mysql_query("select name from table limit $offset,$num"); //获取相应页数所需要显示的数据,name是数据里的一个字段

While($it=mysql_fetch_array($info)){

Echo $it['name']."

";

} //显示数据

For($i=1;$i=$pagenum;$i++){

$show=($i!=$page)?"$i":"$i";

Echo $show." ";

}

/*显示分页信息,假如是当页则显示粗体的数字,其余的页数则为超连接,假如当前为第三页则显示如下

1 2 3 4 5 6

*/

?

php怎么把从数据库查出来的多条数据分成几页展示在页面?

这个网上太多相关的资料了 你自己动手搜搜

主要靠sql语句控制


当前文章:php数据库记录分页 php分页查询
文章地址:http://njwzjz.com/article/hgohhd.html