Php 查询的分页
我有这个函数,可以使用ajax从anunturi表中获取所有行Php 查询的分页,php,mysql,pdo,Php,Mysql,Pdo,我有这个函数,可以使用ajax从anunturi表中获取所有行 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
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;
}
function view\u user\u anunt($user){
$query=“选择t1.*、t2.*、t3*
来自anunturi t1
t1上的内部联接传输t2.tranzactie=t2.id\u传输
内部连接端头在t1上按比例指定t3。端头=t3.id\U端头
其中t1.user=:代码
";
$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)作为$result)
{
$view[]=”
“$result['id\u anunt']”
“$result['den_tranzactie']”
“$result['den_prop']”
呵呵
";
}
返回$view;
}
}
我需要一个解决方案来为这个查询分页。
如果可能的话,我需要用ajax和php进行分页。
提前感谢……我不会写现成的代码,不是为了鼓励填鸭,而是为了给你指路。首先要做的是定义page变量并将其设置为默认值(例如,第一页为1)。然后,您应该通过计算记录并将其除以您希望在每一页上显示的帖子数量来确定有多少页。通过使用page count变量,现在您应该能够在页面上显示页码链接。每个页面链接都应该指向相同的原始页面,并带有一个get变量,如/example.php?page=2
下一步是只调用数据库中的相关记录。假设页面为4,每页显示10条记录。对于这种情况,您应该通过前30条记录,而只调用10条记录。使用“限制”和“偏移”可以很容易地做到这一点。使用“限制偏移”扩展查询,每页行数此问题不适合,因为没有人试图解决此问题。但我必须注意:这段代码按原意使用DBO预处理语句!这是对所有SQL注入垃圾的一个很好的改变…在查询中给出开始限制和结束限制,(1)(2)这2个链接将帮助您这不是问题。对数据进行分页将需要大量的工作,甚至超出您的功能范围。您应该在谷歌上搜索它(
在PHP中对MySQL结果进行分页
),然后在遇到问题时返回StackOverflow。