如何实现分页功能

lzy_one 2001-02-25 10:06:00
请问在下行查询语句中,"limit $offset,10" 是什么意思?
还有,小弟想做一个有分页功能的留言板,但分页功能的具体实现语句不太清楚,不知各位高手可否以代码赐教。
$sql = "SELECT id,name,title,time from guestbook order by time DESC LIMIT $offset, 10";

Thanks a lot!
...全文
290 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
realyzeal 2001-03-04
  • 打赏
  • 举报
回复
总的来说,要分页显示主要就是能够记住你当前页已经显示到第几行了,能过把数据库的纪录定位,这样你再犯页时就可以知道从那一条记录开始显示,所以可以用的方法有很多种,例如是用数租了,使用session了,使用mysql_db_seek()函数等方法,不一而足。
sexpunk 2001-03-03
  • 打赏
  • 举报
回复
我Kao!你们用的太麻烦了,jsp,asp,php的通用分页方法就是用session.
asp可以用ado的分页.
php可以用sql的limit限制.
jsp只能用session.
benlu 2001-03-02
  • 打赏
  • 举报
回复
你用的是mysql吗,有些数据库没有此功能(如oracle,要实现分页较mysql麻烦)

limit $offset,10:限定select结果为第$offset条开始的10条记录
w102272 2001-02-25
  • 打赏
  • 举报
回复
分页功能主要是通过对数据集的操作实现的:
1. 自己写一个循环,按照分页格式化输出,(慢,但是通用)
2. 有些驱动程序,比如ADO支持数据集分页
3. 大型数据库的SQL支持TOP语句,你可以用select top n ... where id>myid 这样的语句
来获得分页。
ipman 2001-02-25
  • 打赏
  • 举报
回复
print "<table><tr bgcolor=#cccccc align=center><td>姓名</td><td>时间</td><td width=120> 地点</td><td>图片</td></tr>";
if($Submit)
{
$query="select * from photo_table where site='$id_cookie' and datetime>'$query_date' order by datetime limit $start,$numbers";
}else
{
$query="select * from photo_table where site='$id_cookie' order by datetime DESC limit $start,$numbers";
}
//$result=mysql_query($query);

$query="select * from site_table where lochus='$id_cookie'";
$result=mysql_query($query);
//print $query;
while($lochus=mysql_fetch_object($result))
{
$current_sitename=$lochus->name;
$current_siteid=$lochus->id;
$query="select * from photo_table where site='$current_siteid' order by datetime DESC limit $start,$numbers";
$result=mysql_query($query);
//print $query;
while($rows=mysql_fetch_object($result))
{
$current_pos++;
$current_record_id=$rows->id;
$card=$rows->card;
$query="select id,name from person_table where card='$card'";
$person_info=mysql_query($query);
$person=@mysql_result($person_info,0,'name');
$person_id=@mysql_result($person_info,0,'id');
$person="<a href=show_person_info.php?id=$person_id class=main1>$person</a>";
$picture=$rows->name;
$datetime=$rows->datetime;
$img="<a href=\"show_detail.php?id=$current_record_id\"><img src=\"mphoto/$picture\" height=40 width=60></a>";
$site_id=$rows->site;
$query="select name from site_table where id='$site_id'";
$site_info=mysql_query($query);
$site=@mysql_result($site_info,0,'name');
if ($current_pos%2)
{$bgcolor="#dddddd";
}else
{$bgcolor="#eeeeee";
}
print "<tr bgcolor=$bgcolor><td>$person</td><td>$datetime</td><td align=center>$site</td><td><font color=#0000ff>$img</font></td></tr>";
}

}
print "</table>";

/*算了,全给你吧*/
ipman 2001-02-25
  • 打赏
  • 举报
回复
从我的代码取下来的,只有分页功能,可参考

<?php
#bugs report email to ipman@sohu.com
$numbers=10;
$start=$page*$numbers;
$next_page=$page+1;
$pro_page=$page-1;
print "<table class=main><tr><td width=40>";
if($page>0)
{print "<a href=\"$PHP_SELF?id=$id&page=$pro_page\" class=main>上一页</a> ";}
else
{print "<font color=#999999>上一页</font>";}

print "</td>\n";
print "<td width=40>\n";

if($next_page*$numbers<$total)
{print "<a href=\"$PHP_SELF?id=$id&page=$next_page\" class=main>下一页</a> ";}
else
{print "<font color=#999999>下一页</font>";}

print "</td>\n";
print "<td>";
for ($i=0;$i<($total/$numbers);$i++)
{
$page_name=$i+1;
if($page_name!=$page+1)
{print "<a href=\"$PHP_SELF?id=$id&page=$i\" class=main>($page_name)</a> ";
}else
{print "<font color=#ff0000><b>($page_name)</b></font> ";}
}
print "</td></tr></table>";

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧