我正在处理一个基于某些过滤器的网格,当用户单击链接时,我想嘲笑这些记录。在网格的底部。我尝试进行搜索,但是找到了页码的内容或某种自动滚动。但是,我如何在情况下工作?到目前编程部分将如何工作。我正在服务器端使用 php ,而 mySQL 作为我的DB有人可以指导我。谢谢你的时间。
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>";
您可以在SQL查询中尝试LIMIT
。
在URL中传递LIMIT
offset
和limit
,并相应地显示数据&amp;将当前的offset
和limit
发送回网页(以便您可以为Show More Link制作URL)
我认为这是在大多数地方和框架上实现的方式
sandeep
在查询中使用
SELECT list_of_column FROM table
ORDER BY column_id DESC
LIMIT 20 OFFSET 0
只需更改每次点击的偏移值,您将获得所需的结果
PAGINATION中的PHP,请参阅
在mysqlquery中,您可以使用限制开始,最大函数: 从DB限制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;