我正在基于一些过滤器显示记录数的网格。当用户单击网格底部的显示更多链接时,我想对它们进行分页。我尝试搜索,但是找到了页码东西或某种自动滚动。但是,我怎样才能在我的场景中工作?到目前为止,我的研究是,我必须在点击链接时编写一个函数,使用ajax获取下一批记录(例如每个请求 20 条)。但是编程部分将如何工作。我在服务器上使用PHP结束和Mysql作为我的数据库有人可以指导我吗。谢谢你的时间。
问问题
661 次
4 回答
1
您可以尝试LIMIT
在 sql 查询中。
在 URL 中传递LIMIT
offset
andlimit
并相应地处理/显示数据并将当前offset
和发送回limit
网页(以便您可以为显示更多链接创建 url)
我认为这就是它在大多数地方和框架中的实现方式
桑迪普
于 2012-10-22T10:25:46.250 回答
1
在查询使用
SELECT list_of_column FROM table
ORDER BY column_id DESC
LIMIT 20 OFFSET 0
只需更改每次点击的偏移值,您将获得所需的结果
php中的分页,参考,
于 2012-10-22T10:27:41.220 回答
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;
于 2012-10-22T10:27:47.867 回答
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>";
于 2012-10-22T12:36:20.260 回答