php分页
‘壹’ php分页代码 怎么写
Web开发是今后分布式程式开发的主流,通常的web开发都要涉及到与数据库打交道,客户端从服务器端读取通常都是以分页的形式来显示,一页一页的阅读起来既方便又美观。所以说写分页程序是web开发的一个重要组成部分,在这里,我们共同来研究分页程序的编写。
一、分页程序的原理
分页程序有两个非常重要的参数:每页显示几条记录($pagesize)和当前是第几页($page)。有了这两个参数就可以很方便的写出分页程序,我们以Mysql数据库作为数据源,在mysql里如果要想取出表内某段特定内容可以使用的 T-SQL语句:select * from table limit offset,rows来实现。这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。
二、主要代码解析
$pagesize=10; //设置每一页显示的记录数
$conn=mysql_connect("localhost","root",""); //连接数据库
$rs=mysql_query("select count(*) from tb_proct",$conn); //取得记录总数$rs
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//计算总页数
$pages=intval($numrows/$pagesize);
//判断页数设置
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
$page=1; //否则,设置为第一页
}
三、创建用例用表myTable
create table myTable(id int NOT NULL auto_increment,news_title varchar(50),news_cont text,add_time datetime,PRIMARY KEY(id))
四、完整代码
<html>
<head>
<title>php分页示例</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<?php
$conn=mysql_connect("localhost","root","");
//设定每一页显示的记录数
$pagesize=1;
mysql_select_db("mydata",$conn);
//取得记录总数$rs,计算总页数用
$rs=mysql_query("select count(*) from tb_proct",$conn);
$myrow = mysql_fetch_array($rs);
$numrows=$myrow[0];
//计算总页数
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
//设置页数
if (isset($_GET['page'])){
$page=intval($_GET['page']);
}
else{
//设置为第一页
$page=1;
}
//计算记录偏移量
$offset=$pagesize*($page - 1);
//读取指定记录数
$rs=mysql_query("select * from myTable order by id desc limit $offset,$pagesize",$conn);
if ($myrow = mysql_fetch_array($rs))
{
$i=0;
?>
<table border="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">标题</td>
<td width="50%" bgcolor="#E0E0E0">
<p align="center">发布时间</td>
</tr>
<?php
do {
$i++;
?>
<tr>
<td width="50%"><?=$myrow["news_title"]?></td>
<td width="50%"><?=$myrow["news_cont"]?></td>
</tr>
<?php
}
while ($myrow = mysql_fetch_array($rs));
echo "</table>";
}
echo "<div align='center'>共有".$pages."页(".$page."/".$pages.")";
for ($i=1;$i< $page;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "[".$page."]";
for ($i=$page+1;$i<=$pages;$i++)
echo "<a href='fenye.php?page=".$i."'>[".$i ."]</a> ";
echo "</div>";
?>
</body>
</html>
五、总结
本例代码在windows2000 server+php4.4.0+mysql5.0.16上运行正常。该示例显示的分页格式是[1][2][3]…这样形式。假如想显示成“首页 上一页 下一页 尾页”这样形式,请加入以下代码:
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
if ($page > 1)
{
echo "<a href='fenye.php?page=".$first."'>首页</a> ";
echo "<a href='fenye.php?page=".$prev."'>上一页</a> ";
}
if ($page < $pages)
{
echo "<a href='fenye.php?page=".$next."'>下一页</a>
echo "<a href='fenye.php?page=".$last."'>尾页</a> ";
}
其实,写分页显示代码是很简单的,只要掌握了它的工作原理。希望这篇文章能够带给那些需要这方面程序web程序员的帮助。
‘贰’ php实现分页功能
具体代码如下:
/**
* 获取分页的HTML内容
* @param integer $page 当前页
* @param integer $pages 总页数
* @param string $url 跳转url地址 最后的页数以 '&page=x' 追加在url后面
*
* @return string HTML内容;
*/
public static function getPageHtml($page, $pages, $url){
//最多显示多少个页码
$_pageNum = 5;
//当前页面小于1 则为1
$page = $page<1?1:$page;
//当前页大于总页数 则为总页数
$page = $page > $pages ? $pages : $page;
//页数小当前页 则为当前页
$pages = $pages < $page ? $page : $pages;
//计算开始页
$_start = $page - floor($_pageNum/2);
$_start = $_start<1 ? 1 : $_start;
//计算结束页
$_end = $page + floor($_pageNum/2);
$_end = $_end>$pages? $pages : $_end;
//当前显示的页码个数不够最大页码数,在进行左右调整
$_curPageNum = $_end-$_start+1;
//左调整
if($_curPageNum<$_pageNum && $_start>1){
$_start = $_start - ($_pageNum-$_curPageNum);
$_start = $_start<1 ? 1 : $_start;
$_curPageNum = $_end-$_start+1;
}
//右边调整
if($_curPageNum<$_pageNum && $_end<$pages){
$_end = $_end + ($_pageNum-$_curPageNum);
$_end = $_end>$pages? $pages : $_end;
}
$_pageHtml = '<ul class="pagination">';
/*if($_start == 1){
$_pageHtml .= '<li><a title="第一页">«</a></li>';
}else{
$_pageHtml .= '<li><a title="第一页" href="'.$url.'&page=1">«</a></li>';
}*/
if($page>1){
$_pageHtml .= '<li><a title="上一页" href="'.$url.'&page='.($page-1).'">«</a></li>';
}
for ($i = $_start; $i <= $_end; $i++) {
if($i == $page){
$_pageHtml .= '<li class="active"><a>'.$i.'</a></li>';
}else{
$_pageHtml .= '<li><a href="'.$url.'&page='.$i.'">'.$i.'</a></li>';
}
}
/*if($_end == $pages){
$_pageHtml .= '<li><a title="最后一页">»</a></li>';
}else{
$_pageHtml .= '<li><a title="最后一页" href="'.$url.'&page='.$pages.'">»</a></li>';
}*/
if($page<$_end){
$_pageHtml .= '<li><a title="下一页" href="'.$url.'&page='.($page+1).'">»</a></li>';
}
$_pageHtml .= '</ul>';
echo $_pageHtml;
}
‘叁’ php接口实现分页 怎么弄
如果总共只有10条、20条,那么一般最佳办法是:全部都输出到页面上,可以没5条一个DIV,只显示其中一个,把其它的隐藏了,通过按钮点击显示不同的DIV出来。
如果总共数据成千上万条,那么页面一次就只输出5条,通过给PHP一个参数显示第几页,每次从总数据清单里面不同的位置开始显示5条。
‘肆’ php分页代码
<?php
/**
* @author SEPH
* @desc pageft
* @date 2009-4-20
*/
//为了避免重复包含文件而造成错误,加了判断函数是否存在的条件:
if(!@function_exists(pageft)){
//定义函数pageft(),三个参数的含义为:
//$totle:信息总数;
//$displaypg:每页显示信息数,这里设置为默认是20;
//$url:分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个URL相同。
// 默认值本该设为本页URL(即$_SERVER["REQUEST_URI"]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
function pageft($totle,$displaypg=20,$url=''){
//定义几个全局变量:
//$page:当前页码;
//$firstcount:(数据库)查询的起始项;
//$pagenav:页面导航条代码,函数内部并没有将它输出;
//$_SERVER:读取本页URL“$_SERVER["REQUEST_URI"]”所必须。
global $page,$firstcount,$pagenav,$_SERVER;
//为使函数外部可以访问这里的“$displaypg”,将它也设为全局变量。注意一个变量重新定义为全局变量后,原值被覆盖,所以这里给它重新赋值。
$GLOBALS["displaypg"]=$displaypg;
/*if(!$page) $page=1*/;
if(@$_GET['page'])
$page = intval($_GET['page']);
else
$page = 1;
//如果$url使用默认,即空值,则赋值为本页URL:
if(!$url){ $url=$_SERVER["REQUEST_URI"];}
//URL分析:
$parse_url=parse_url($url);
$url_query=@$parse_url["query"]; //单独取出URL的查询字串
if($url_query){
//因为URL中可能包含了页码信息,我们要把它去掉,以便加入新的页码信息。
//这里用到了正则表达式,请参考“PHP中的正规表达式”(http://www.pconline.com.cn/pce/empolder/wz/php/10111/15058.html)
$url_query=ereg_replace("(^|&)page=$page","",$url_query);
//将处理后的URL的查询字串替换原来的URL的查询字串:
$url=str_replace($parse_url["query"],$url_query,$url);
//在URL后加page查询信息,但待赋值:
if($url_query) $url.="&page"; else $url.="page";
}else {
$url.="?page";
}
//页码计算:
$lastpg=ceil($totle/$displaypg); //最后页,也是总页数
$page=min($lastpg,$page);
$prepg=$page-1; //上一页
$nextpg=($page==$lastpg ? 0 : $page+1); //下一页
$firstcount=($page-1)*$displaypg;
//开始分页导航条代码:
$pagenav="显示第 <B>".($totle?($firstcount+1):0)."</B>-<B>".min($firstcount+$displaypg,$totle)."</B> 条记录,共 $totle 条记录<BR>";
//如果只有一页则跳出函数:
if($lastpg<=1) return false;
$pagenav.=" <a href='$url=1' target=_self>首页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg' target=_self>前页</a> "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg' target=_self>后页</a> "; else $pagenav.=" 后页 ";
$pagenav.=" <a href='$url=$lastpg' target=_self>尾页</a> ";
//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n";
else $pagenav.="<option value='$i'>$i</option>\n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
}/*没有用Get传值*/
?>
‘伍’ php中怎么分页
<html>
<head>
<title>分页显示</title>
</head>
<script language="javascript">
function confirmDel()
{
var confirm=window.confirm("您确定要删除吗?");
if(confirm)
return true;
else
return false;
}
</script>
<body bgcolor="cce8cf">
<center>
<table border="1" width="90%" cellspacing="1">
<tr bgcolor="yellow">
<td>用户ID</td>
<td>用户名</td>
<td>密码</td>
<td>性别</td>
<td>年龄</td>
<td>电子邮件</td>
<td>操作</td>
</tr>
<?php
error_reporting(0);
//设置页大小,即每页显示几条数据
$pagesize=10;
//设置第一页
$page=1;
//数据库初始化操作
$link=mysql_connect("localhost","root","root");//连接数据库
$db=mysql_select_db("HibernateDemo",$link);//选择数据库
$sql="select count(*) from userinfo";//构造sql语句
$res=mysql_query($sql);//执行查询操作,结果为总记录数
$row=mysql_fetch_array($res);//取出一条记录
$rows=$row[0];//取出总记录数
//判断一共多少页
$pages=intval($rows/$pagesize);//取整数页,总页数
if($rows%$pagesize)
$pages=$pages+1;//如果还有余数的话,那么就再加一页来显示剩余的记录
//获取用户请求,即用户提交要去哪一页
$page=$_GET["ToPage"];
//整理用户输入
if($page<=0)
{
$page=1;//因为开始的时候没$page有值,所以是0,所以就让$page=1,这样后面的
//$page也就是1,见第97行
}
if($page>=$pages)
{
$page=$pages;
}
session_start();
echo "<div align='right' top='0'><a href='logout.php'>注销".$_SESSION['username']."</a></div>";
echo "当前第".$page."页,每页10个记录,总".$rows."条记录,一共".$pages."页";//显示页数信息
//计算偏移量
$offset=$pagesize*($page-1);
//构造sql语句
$sqlx="select * from userinfo limit 10 offset ".$offset;
$result=mysql_query($sqlx);//执行查询操作
$ok=mysql_fetch_array($result);
while($ok)
{
?>
<tr>
<td bgcolor="#DEB887"><?php echo $ok[0] ?></td>
<td><?php echo $ok[1] ?></td>
<td><?php echo $ok[2] ?></td>
<td><?php echo $ok[3]==male?"男":"女" ?></td>
<td><?php echo $ok[4] ?></td>
<td><?php echo $ok[5] ?></td>
<td><a href="updateInfo.php?userid=<?php echo $ok[0] ?>">修改</a>
<a href="deleteInfo.php?userid=<?php echo $ok[0] ?>"
onclick="return confirmDel();">删除</a>
</td>
</tr>
<?php
$ok=mysql_fetch_array($result);
}
?>
</table>
<table>
<?php
//判断当前是否是第一页,不是,则显示'第一页'和'上一页'
if($page!=1)
{
?>
<tr>
<td align="center">
<a href="pageSelect.php?ToPage=1">第一页</a>
<a href="pageSelect.php?ToPage=<?php echo ($page-1) ?>">上一页</a>
</td>
<?php
}
//如果不是最后一页,则显示‘最后一页’和‘下一页’
if($page!=$pages)
{
?>
<td align="center" colspan="6">
<a href="pageSelect.php?ToPage=<?php echo ($page+1) ?>">下一页</a>
<a href="pageSelect.php?ToPage=<?php echo ($pages) ?>">最后一页</a>
</td>
<?php
}
?>
<table>
<form action="pageSelect.php" method="get" name="form1">
<tr>
<td colspan="6" align="center">
<input type="text" value="<?php echo ($page) ?>" name="ToPage"
size="3" />
<a href="javascript:window.document.form1.submit();">GO</a>
</td>
</tr>
</form>
</table>
</center>
</body>
</html>
‘陆’ PHP怎么制作分页
方法/步骤
首先要了解下分页的原理即
SELECT * FROM table …… limit 开始位置 , 操作条数
开始位置从0开始
SELECT * FROM table …… limit 0 , 20
取最前面20条
SELECT * FROM table …… limit 10 , 20
11条到20条
其次分页要用的公式
得到公式
(当前页数 - 1 )X 每页条数 , 每页条数
Select * from table limit ($Page- 1) * $PageSize, $PageSize
还要了解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
)
创建数据库bbs和表test有
CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) character set gb2312 NOT NULL,
`sex` varchar(2) character set gb2312 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
然后插入十几条测试数据即可
写mysql数据库连接代码保存conn.php文件里
代码如下
<?php
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
function htmtocode($content) {
$content = str_replace("\n", "<br>", str_replace(" ", " ", $content));
return $content;
}
//$content=str_replace("'","'",$content);
//htmlspecialchars();
?>
写分页函数page.php
代码如下
<?php
function _PAGEFT($totle, $displaypg = 20, $url = '') {
global $page, $firstcount, $pagenav, $_SERVER;
$GLOBALS["displaypg"] = $displaypg;
if (!$page)
$page = 1;
if (!$url) {
$url = $_SERVER["REQUEST_URI"];
}
//URL分析:
$parse_url = parse_url($url);
$url_query = $parse_url["query"]; //单独取出URL的查询字串
if ($url_query) {
$url_query = ereg_replace("(^|&)page=$page", "", $url_query);
$url = str_replace($parse_url["query"], $url_query, $url);
if ($url_query)
$url .= "&page";
else
$url .= "page";
} else {
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1; //上一页
$nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
$firstcount = ($page -1) * $displaypg;
//开始分页导航条代码:
$pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录";
//如果只有一页则跳出函数:
if ($lastpg <= 1)
return false;
$pagenav .= " <a href='$url=1'>首页</a> ";
if ($prepg)
$pagenav .= " <a href='$url=$prepg'>前页</a> ";
else
$pagenav .= " 前页 ";
if ($nextpg)
$pagenav .= " <a href='$url=$nextpg'>后页</a> ";
else
$pagenav .= " 后页 ";
$pagenav .= " <a href='$url=$lastpg'>尾页</a> ";
//下拉跳转列表,循环列出所有页码:
$pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for ($i = 1; $i <= $lastpg; $i++) {
if ($i == $page)
$pagenav .= "<option value='$i' selected>$i</option>\n";
else
$pagenav .= "<option value='$i'>$i</option>\n";
}
$pagenav .= "</select> 页,共 $lastpg 页";
}
include("conn.php");
$result=mysql_query("SELECT * FROM `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉).
_PAGEFT($total,5);
echo $pagenav;
$result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
echo "<hr><b>".$row[name]." | ".$row[sex];
}
?>
调用数据和分页list.php
<?php
/**
* 爱微网 www.iiwnet.com/php/
*/
include("conn.php");
$pagesize=5;
$url=$_SERVER["REQUEST_URI"];
$url=parse_url($url);
$url=$url[path];
$numq=mysql_query("SELECT * FROM `test`");
$num = mysql_num_rows($numq);
if($_GET[page]){
$pageval=$_GET[page];
$page=($pageval-1)*$pagesize;
$page.=',';
}
if($num > $pagesize){
if($pageval<=1)$pageval=1;
echo "共 $num 条".
" <a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>";
}
echo $SQL="SELECT * FROM `test` limit $page $pagesize ";
$query=mysql_query($SQL);
while($row=mysql_fetch_array($query)){
echo "<hr><b>".$row[name]." | ".$row[sex];
}
?>
注意事项
注意分页公式写法你只要记住即可;
(当前页数 - 1 )X 每页条数 , 每页条数;
Select * from table limit ($Page- 1) * $PageSize, $PageSize;
注意三个代码文件在同一个目录下;
主要是最后的list.php调用代码要细看很有用。
‘柒’ 如何用php实现分页效果
将原代码(所有用到分页的代码我都加有注释)和设计页面和IE浏览后的页面都传给你,以方便你详查。如果这里不好看,就将此代码复制到Dreamweaver编辑器里,加上你自己的数据库。我不知道你用的是什么编辑器,我用的是Dreamweaver。 这里是原代码页面<?php
include("inc/conn.php"); //包含你的数据库文件
?><body>
<?php
$sql="select * from book"; //sql语句我就不用多讲了吧,其中book是我要连接的表,(可自己定义)后面将不作解释
$result=mysql_query($sql);
$number=mysql_num_rows($result); //获得总共多少条记录
$pagesize=10; //定义每个页面要显示多少条记录
$totalpage=ceil($number/$pagesize); //获得总的页数,ceil($number/$pagesize)总的记录/每页显示的记录
$pageno=$_GET['pageno'];
if($pageno==""){
$pageno=1; //设定,如果当前页为空时就显示为第1页
}
$startno=$pagesize*($pageno-1); //得到每页的起始页。$pagesize*($pageno-1)用每页多少条记录*(当前页-1),这是得到起始页的规则
$sql2="select * from book limit ".$startno.",".$pagesize; //用sql2语句中limit得出每一页的起始页和每一页要显示多少条记录
$result2=mysql_query($sql2);
?>
<table width="600" border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#0000FF">
<tr>
<th align="center" bgcolor="#FFFFFF">书名:</th>
<th align="center" bgcolor="#FFFFFF">作者:</th>
<th align="center" bgcolor="#FFFFFF">价格:</th>
</tr>
<?php
while($rows=mysql_fetch_array($result2)){ //这里是循环,不用讲的吧,如果不懂再来问我
?>
<tr>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['Bookname']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['editor']?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows['price']?></td>
</tr>
<?php } ?>
<tr>
<td align="center" bgcolor="#FFFFFF">共<?php echo $number //显示总共多少条记录 ?>条记录</td> <td align="center" bgcolor="#FFFFFF"><?php
if($pageno==1){
echo "[<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页时: 没有首页和上页,只有下页和末页(后两者有连接)
if($pageno<$totalpage && $pageno>1){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>][<a href=?pageno=".($pageno+1).">下一页</a>][<a href=?pageno=".$totalpage.">末页</a>]";
} //如果是第一页和末页之间的页数:首页,上页,下页,末页都有(四者都有连接)
if($pageno==$totalpage){
echo "[<a href=?pageno=1>首页</a>][<a href=?pageno=".($pageno-1).">上一页</a>]";
} //如果是末页时: 只有首页和上页,没有下页和末页(前两者有连接) (到此为止分布做完了,下面的是跳转,顺便也跟你说说吧,呵呵)
?></td>
<td align="center" bgcolor="#FFFFFF"><form id="form1" name="form1" method="get" action="">
<select name="pageno">
<option selected="selected">第<?php echo $pageno?>页</option>
<?php
for($i=1;$i<=$totalpage;$i++){ //通过for定义变量i<=总页数将总共有多少页循环出来
?>
<option value="<?php echo $i?>">第<?php echo $i //显示当前所看到的页数?>页</option>
<?php } ?>
</select>
<input type="submit" name="Submit" value="go" />
</form>
</td>
</tr>
</table>
</body> 这里是设计页面 这里是IE浏览后看到的页面
‘捌’ php分页显示
<?
$sql="select * from table ";//查表
$res=mysql_query($sql);//取得结果
$nums=mysql_num_rows($res);//取得总记录数
$pagesize=15;//设定每页的记录数
$pages=ceil($nums/$pagesize);//取得总页数
if($pages<1){$pages=1;}//设定总页数至少1页
$page=$_GET[page];//取得传递过来的页数
if($page>$pages){$page=$pages;}//如果传递过来的页数比总页数还大,就让它等于总页数
if($page<1){$page=1;}//如果传递过来的页数小于1,就让他等于1
$kaishi=($page-1)*$pagesize;//为下一步做准备,limit的初始记录
$sql="select * from table order by id desc limit $kaishi,$pagesize";//取得记录从计算出的初始值开始,一共$pagesize条
$res=mysql_query($sql);//取得结果
while($arr=mysql_fetch_array($res))
{
echo $arr[id]."---".$arr[biaoti].'<br>';//输出记录的ID和标题
}
?>
下面是分页<br />
<a href="?page=1">首页</a> <a href="?page=<? echo $page-1;?>">上页</a> 当前第<? echo $page;?>页 <a href="?page=<? echo $page+1;?>">下页</a> <a href="?page=<? echo $pages;?>">尾页</a>
‘玖’ 关于PHP分页
输出的SQL语句是什么。
‘拾’ php 如何分行分页显示
我看了你使用table实现的,这样要每行显示5个,是可以实现,但是要增加一些判断,这样就多了没必要的PHP代码;
建议你用div写,然后控制整理宽度,也就是说你5个图片循环出来的宽度不能大于没一行的宽度,大了后,也就是第6张图的div就会从第二行开始排列了。这里设置固定的像素,就不会受浏览器的 影响。
参考这个样式代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.alldiv{
width:685px; /*137*5=685 */
}
.xunhuan {
width:137px;
float:left
}
-->
</style></head>
<body>
<div class="alldiv">
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
<div class="xunhuan"><img src="https://gss0.bdstatic.com/70cFsjip0QIZ8tyhnq/img/iknow/logo-iknowxjd.gif" width="137" height="80"></div>
</div>
</body>
</html>