【发布时间】:2014-08-27 09:43:34
【问题描述】:
无论如何我似乎都找不到答案,所以我想我至少需要问一下,无论如何我确实尝试过 google 我正在制作一个类似于 facebook 的群组功能,但效果不佳,因为我是唯一的一个开发这个,但随着时间的推移它会变得更好。
无论如何, 如何使此代码限制分页数?例如,如果数据库中有大量结果,我只想在使用点之后显示前 10 个结果,以便他们可以单击并更深入地了解,所以当单击点时,他们会得到另外 10 个结果,所以 20然后 -30 将显示为分页。我不需要完全像这样,而是需要某种方式来限制一次显示的数字数量。
这里是代码
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
#content
{
width: 900px;
margin: 0 auto;
font-family:Arial, Helvetica, sans-serif;
}
.page
{
float: right;
margin: 0;
padding: 0;
}
.page li
{
list-style: none;
display:inline-block;
}
.page li a, .current
{
display: block;
padding: 5px;
text-decoration: none;
color: #8A8A8A;
}
.current
{
font-weight:bold;
color: #000;
}
.button
{
padding: 5px 15px;
text-decoration: none;
background: #333;
color: #F3F3F3;
font-size: 13PX;
border-radius: 2PX;
margin: 0 4PX;
display: block;
float: left;
}
</style>
</head>
<body>
<div id="content">
<?php
error_reporting(0);
$query1=mysql_connect("localhost","root","");
mysql_select_db("freeze_demo",$query1);
error_reporting(0);
$start=0;
$limit=1;
if(isset($_GET['id']))
{
$id=$_GET['id'];
$start=($id-1)*$limit;
}
$query=mysql_query("select * from pagination LIMIT $start, $limit");
echo "<ul>";
while($query2=mysql_fetch_array($query))
{
echo "<li>".$query2['text1']."</li>";
}
echo "</ul>";
$rows=mysql_num_rows(mysql_query("select * from pagination"));
$total=ceil($rows/$limit);
if($id>1)
{
echo "<a href='?id=".($id-1)."' class='button'>PREVIOUS</a>";
}
if($id!=$total)
{
echo "<a href='?id=".($id+1)."' class='button'>NEXT</a>";
}
echo "<ul class='page'>";
for($i=1;$i<=$total;$i++)
{
if($i==$id) { echo "<li class='current'>".$i."</li>"; }
else { echo "<li><a href='?id=".$i."'>".$i."</a></li>"; }
}
echo "</ul>";
?>
</div>
</body>
</html>
当我的数据库或某个组变得更大时,基本上需要更新它。
谢谢
【问题讨论】:
-
有时我想显示的分页数限制可能很难解释这个问题,如果你有 100 个分页数显示,它会变得很乱
-
修复了 sql 错误 ;)
标签: php mysql database pagination limit