我正在制作一个基于某些过滤器显示记录数量的网格。当用户点击网格底部的显示更多链接时,我想分页。我试过搜索,但要么找到页码的东西或某种自动滚动。但是,我怎样才能在我的场景中工作? 我的研究到目前为止,我将不得不编写链接的函数 onclick ,使用ajax获取下一批的记录(每个请求说20个)。如何编程部分工作。我在服务器端使用 PHP ,在我的数据库中使用 Mysql 有人可以指导我。谢谢你的时间。
答案 0 :(得分:1)
您可以在sql查询中尝试LIMIT
。
传递网址中的LIMIT
offset
和limit
并相应地处理/显示数据
&安培;将当前offset
和limit
发回网页(以便您可以为节目制作更多链接的网址)
我认为这是在大多数地方和框架中实施的方式
和Sandeep
答案 1 :(得分:1)
在查询中使用
SELECT list_of_column FROM table
ORDER BY column_id DESC
LIMIT 20 OFFSET 0
只需更改每次点击的偏移值,您将获得所需的结果
php中的分页,refer,
答案 2 :(得分:1)
在MysqlQuery中,您可以使用LIMIT begin,max函数: SELECT * FROM db LIMIT 100,10 将从偏移量10开始选择10个数据集。
你必须通过javascript将$ _GET或$ _POST变量传递给php脚本:
$.ajax({
[...],
url: "script.php",
data: {
page: <page to load>
},
[...]
})
在php脚本中,您现在可以修改查询:
$query = "SELECT * FROM database LIMIT " . $_GET['page'] . ", " . $entrys_per_page;
答案 3 :(得分:1)
if(isset($_GET['page']))
{
$page=$_GET['page'];
}
else
{
$page=1;
}
if(isset($_GET['dark']))
{
$max_result=$_GET['dark'];
}
else
{
$max_result=5;
}
$from=(($page*$max_result)-$max_result);
mysql_select_db("db",$con);
$sql = "SELECT COUNT(*) FROM `db`.`table` ";
$result=mysql_query($sql);
$total_result=mysql_result($result,0);
$total_pages=ceil($total_result/$max_result);
if($total_result>$max_result)
{
if($page>1)
{
$prev=$page-1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$prev\">previous</a>";
}
for($i=1;$i<=$total_pages;$i++)
{
if($page==$i)
{
echo "<strong>".$i."</strong>";
}
else
{
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$i\">$i</a> ";
}
if($page<$total_pages)
{
$next=$page+1;
//echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\"></a>";
}
}
if($page<$total_pages)
{
$next=$page+1;
echo "<a href=\"".$_SERVER['PHP_SELF']."?dark=".$max_result."&page=$next\">next</a>";
}
}
echo "<table><tr>";
echo "<td><form action='helloworld.php' name='get'>
<select name='dark'>
<option value='2'>2</option>
<option value='5'>5</option>
<option value='10'>10</option>
</select>
<input type='hidden' name='searching' value='yes' /><input type='submit' value='No.of entries'>
</form></td></tr>";
echo "<tr><td><strong>PAGE NUMBER $page of $total_pages.</strong>.</td></tr>";
echo"</table>";