首页 > 编程知识 正文

php一个简单的百度分页效果,百度如何分页

时间:2023-12-27 22:26:14 阅读:323961 作者:IJOQ

本文目录一览:

php分页功能怎么实现

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

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

PHP高手进,改写个类似百度提交表单后的分页显示,分页模块已写好,只求点上一页或下一页时能显示!

这个是我写的从数据库查东西并分页,希望可以帮助你,谢谢,

?php

session_start();

include('connect.php');

include('util.php');

if(!isset($_SESSION['user'])){

heander('location:login.html');

}else{

$page = 1;//当前页码数

if(isset($_GET['page'])){

page = $_GET['page'];

}else{

$page = 1;

}

$rows = getCount();//获得总记录数

$count = 2;//获得每页记录数

$pages = intval($rows/$count);//获得一个整数值,且该值大于最小值,总页数

if($rows%2) $pages++;

$offset = $count*($page-1);//获得偏移量,即每次从哪条记录开始取数据

$sql = "select id,name,age,sex,addresses,date from users limit $offset,$count";

$result = mysql_query($sql);

}

?

html

head

script

function remove(id){

window.location="del.php?id="+id;

}

function findById(id){

window.location="modify.php?id="+id;

}

/script

/head

body

center

table width="95%"

tr

th编号/th

th姓名/th

th年龄/th

th性别/th

th住址/th

th入职日期/th

th colspan="2"操作/th

/tr

?php

if($rows1){

echo '查无记录!';

}else{

while($row=mysql_fetch_array($result,MYSQL_ASSOC)){

?

tr

td align="center"?php echo $row['id']?/td

td align="center"?php echo $row['name']?/td

td align="center"?php echo $row['age']?/td

td align="center"?php echo $row['sex']=1?'男':'女' ?/td

td align="center"?php echo $row['addresses']=''?' ':$row['addresses']?/td

td align="center"?php echo $row['date']?/td

td align="center"input type="image" src="del.gif" onClick="remove(?php echo $row['id']?)"/td

td align="center"input type="image" src="ed.gif" onClick="findById(?php echo $row['id']?)"/td

/tr

?php

}

}

?

/table

a href="main.php?page=1"首页/a  

a href="main.php?page=?php echo ($page-1)==0?1:($page-1);?"上一页/a  

a href="main.php?page=?php echo ($page+1)$pages?$pages:($page+1);?"下一页/a  

a href="main.php?page=?php echo $pages;?"尾页/a  当前第?php echo $page;?页/共?php echo $pages;?页

/center

a href="add.html"增加/a

/body

/html

求教php 分页代码,类似百度的那种

?php

include("connection.php");

$perNumber=10; //每页显示的记录数

$page=$_GET['page']; //获得当前的页面值

$count=mysql_query("select count(*) from user"); //获得记录总数

$rs=mysql_fetch_array($count);

$totalNumber=$rs[0];

$totalPage=ceil($totalNumber/$perNumber); //计算出总页数

if (!isset($page)) {

$page=1;

} //如果没有值,则赋值1

$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录

$result=mysql_query("select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数

while ($row=mysql_fetch_array($result)) {

echo "user_id:".$row[0]."br";

echo "username:".$row[1]."br"; //显示数据库的内容

}

if ($page != 1) { //页数不等于1

?

a href="fenye.php?page=?php echo $page - 1;?"上一页/a !--显示上一页--

?php

}

for ($i=1;$i=$totalPage;$i++) { //循环显示出页面

?

a href="fenye.php?page=?php echo $i;?"?php echo $i ;?/a

?php

}

if ($page$totalPage) { //如果page小于总页数,显示下一页链接

?

a href="fenye.php?page=?php echo $page + 1;?"下一页/a

?php

}

?

================================

这个是很简单的..而且也写了注释..不知道合不合你的意..

像百度这样的php分页代码,跪求

类似google和baidu风格的分页php代码!

?

$setid = 0;

$list_num=50;

$list_page_num=20;

// 计算页数

$pages = ceil($num/$list_num);

$page = ceil($pages/$list_page_num);

if ($setid 0):

$setpage1 = ceil($setid/$list_num);

$setpage = ceil(($setpage1+1)/$list_page_num);

else:

$setpage = 1;

endif;

if ($pages $list_page_num):

$pagenum = $list_page_num;

else:

$pagenum = $pages;

endif;

$issetid = ceil(($setid+1)/$list_num);

$issetpage = $issetid % $list_page_num;

// 第一页

if ($setpage 1):

echo "[a title='第一页' href='当前页.php?nj=".$nj1."setpage=1setid=0'font face=Verdana color=#006699 style="font-size: 8pt;"1/font/a]...n";

endif;

// 上一列

if ($setpage 1):

$lastpage = $setpage-1;

$lastsetid = ($setpage-2)*$list_page_num*$list_num;

echo "[a title='上一列' href='当前页.php?nj=".$nj1."setpage=".$lastpage."setid=".$lastsetid."'font face=Verdana color=#006699 style="font-size: 8pt; "/font/a] - n";

endif;

// 上一页

if ($setid 0):

if ($issetpage == 1):

$newsetpage = $setpage-1;

else:

$newsetpage = $setpage;

endif;

$presetid = $setid-$list_num;

echo "a title='上一页' href='当前页.php?nj=".$nj1."setpage=".$newsetpage."setid=".$presetid."'font face=Verdana color=#006699 style="font-size: 8pt; "[]/font/a n";

endif;

// 列出页

$i1 = ($setpage-1)*$list_page_num;

for ($i=$i1; $i($i1+$pagenum) $i$pages; $i++)

{

$newsetid=$list_num*$i;

if (($setid/$list_num) == $i):

echo "font color=red[".($i+1)."]/fontn";

else:

echo "a href='当前页.php?nj=".$nj1."setpage=".$setpage."setid=".$newsetid."'font face=Verdana color=#006699 style="font-size: 8pt;"[".($i+1)."]/font/an";

endif;

}

// 下一页

if ($pages!=0 ($setid/$list_num+1)!=$pages ($setid/$list_num+1)=$pages||$setid==1):

if ($list_page_num-$issetpage == 0 || $issetpage == 0):

$newsetpage = $setpage+1;

else:

$newsetpage = $setpage;

endif;

$newsetid = $setid+$list_num;

echo "a title='下一页' href='当前页.php?nj=".$nj1."setpage=".$newsetpage."setid=".$newsetid."'font face=Verdana color=#006699 style="font-size: 8pt; "[]/font/a n";

endif;

// 下一列

if ($pages!=0 $pages$list_page_num $setpage$page):

$nextpage = $setpage+1;

$nextsetid = $setpage*$list_page_num*$list_num;

echo "- a title='下一列' href='当前页.php?nj=".$nj1."setpage=".$nextpage."setid=".$nextsetid."'font face=Verdana color=#006699 style="font-size: 8pt; "[]/font/an";

endif;

// 最后一页

if ($pages$list_page_num $setpage$page):

$lastpage = $list_num*($pages-1);

echo "...a title='最后一页' href='当前页.php?nj=".$nj1."setpage=".$page."setid=".$lastpage."'font face=Verdana color=#006699 style="font-size: 8pt; "[".$pages."]/font/an";

endif;

?

我是做php的,想实现一个分页效果,就是循环出现页码,第11页的时候。显示从11到20页

1.###page.php###

//获取page的值,假如不存在page,设置页数为1。

$page=isset($_GET['page'])?intval($_GET['page']):1;

$num=10; //设置每页显示几个数据

$total=mysql_num_rows(mysql_query("select * from XXX"));//计算所有数据总数

$pagenum=ceil($total/$num); //总数除以每页显示数,计算出页数

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

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

echo "error";

Exit;

}

$offset=($page-1)*$num; //获取limit的第一个参数

2.###index.php####

require("page.php");//引入page.php文件

//循环显示数据库内容,倒序排列,定义每页显示多少条信息

$result = mysql_query(SELECT * FROM num order by id desc limit $offset,$num);

... ...

//循环显示分页页码开始

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

$show=($i!=$page)?"a href='tel.php?page=".$i."'$i/a":"b$i/b";

Echo $show." ";

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。