根据要求分页(Paginate记录用户的要求)

时间:2012-10-22 10:22:00

标签: php javascript jquery mysql

我正在制作一个基于某些过滤器显示记录数量的网格。当用户点击网格底部的显示更多链接时,我想分页。我试过搜索,但要么找到页码的东西或某种自动滚动。但是,我怎样才能在我的场景中工作? 我的研究到目前为止,我将不得不编写链接的函数 onclick ,使用ajax获取下一批的记录(每个请求说20个)。如何编程部分工作。我在服务器端使用 PHP ,在我的数据库中使用 Mysql 有人可以指导我。谢谢你的时间。

4 个答案:

答案 0 :(得分:1)

您可以在sql查询中尝试LIMIT

传递网址中的LIMIT offsetlimit并相应地处理/显示数据 &安培;将当前offsetlimit发回网页(以便您可以为节目制作更多链接的网址)

我认为这是在大多数地方和框架中实施的方式

和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>";