查询的分页

时间:2013-10-09 08:49:42

标签: php mysql pdo

我有这个函数来从anunturi表中获取带有ajax的所有行。

function view_user_anunt($user) {


         $query="SELECT t1.*, t2.*, t3.*
         FROM anunturi t1 
         INNER JOIN tranzactie t2 ON t1.tranzactie = t2.id_tranzactie
         INNER JOIN tip_proprietate t3 ON t1.tip = t3.id_prop
         WHERE t1.user=:code 
";

        $stmt = $this->dbh->prepare($query);
        $stmt->bindParam(':code', $user, PDO::PARAM_INT);
        $stmt->execute();
        $nr=$stmt->rowCount();
        echo $nr;
        foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $result) 
        {
            $view[]="
            <tr>
            <td>".$result['id_anunt']."</td>
            <td>".$result['den_tranzactie']."</td>
            <td>".$result['den_prop']."</td>
            <td>hehe</td>
            <td><a href='#' id='vizualizare'>Select</a></td>
            <td><a href='#' id='modificare'>Select</a></td>
            </tr>";

        }

    return $view;



}

}

我需要一个解决方案来分页这个查询。 如果可能的话我需要用ajax和php进行分页。 提前谢谢....

1 个答案:

答案 0 :(得分:0)

我不会写出准备好的代码,不是为了鼓励勺子喂食,而是可以给你指路。首先要做的是定义页面变量并将其设置为默认数字(例如,第一页为1)。然后,您应该通过计算记录并将其分成您希望在每个页面上显示的帖子数来找出有多少页面。通过使页数变量,现在您应该能够在页面上显示页码链接。每个页面链接都应该转到相同的原始页面,并带有一个get变量,例如/example.php?page=2

下一步是只调用数据库中的相关记录。让我们说页面是4,你在每页显示10条记录。对于这种情况,您应该传递前30条记录并仅调用10条记录。您可以使用限制和偏移轻松完成此操作。