0

我正在基于一些过滤器显示记录数的网格。当用户单击网格底部的显示更多链接时,我想对它们进行分页。我尝试搜索,但是找到了页码东西或某种自动滚动。但是,我怎样才能在我的场景中工作?到目前为止,我的研究是,我必须在点击链接时编写一个函数,使用ajax获取下一批记录(例如每个请求 20 条)。但是编程部分将如何工作。我在服务器上使用PHP结束和Mysql作为我的数据库有人可以指导我吗。谢谢你的时间。

4

4 回答 4

1

您可以尝试LIMIT在 sql 查询中。

在 URL 中传递LIMIT offsetandlimit并相应地处理/显示数据并将当前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 回答