我正在创建一个网站,人们可以在其中发布有效期限的东西。并且我将所有数据存储在具有到期日期的数据库中,因此在页面上仅显示有效数据并且过期不会显示在页面上。目前我正在使用这个PHP脚本
<?php
$servername = "******";
$username = "********";
$date=date("Y/m/d");
try {
$conn = new PDO("mysql:host=$servername;dbname=******", $username, "*******");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "select id, item1, item2, item3, expirydate, description from table WHERE expirydate>= ?";
$statement = $conn->prepare($query);
$statement->execute(array($date));
foreach($statement->fetchAll(PDO::FETCH_ASSOC) as $row){
echo"<div class='col-md-12'>";
echo"<div class='agent-item'>";
echo"<div class='row'>";
echo"<div class='col-md-3'>";
echo"<img src='img/uploads/$row[item1]' class='img-responsive' alt=''>";
echo"</div>";
echo"<div class='col-md-6'>";
echo"<h6 class='mb-xs'>Description</h6>";
echo"<p>'$row[item2]'</p>";
echo"</div>";
echo"<div class='col-md-3'>";
echo"<p>address</p>";
echo"</div>";
echo"</div>";
echo"</div>";
echo"</div>";
}
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
问题是fetchAll获取了我真正不想要的所有数据。我想每页显示10个项目,所以我想获取10个项目,当用户点击下一页时,所以在第2页我想要获取接下来的10个项目并在第2页上显示它。我正在努力2天才能实现这一目标但是我每次失败,即使我只尝试了fetch()方法,但它只在foreach循环中迭代一次。 有人可以帮我解决我如何才能获取10个项目,并在下一页如何获取10个项目,这些项目应该在之前的10个项目之后开始。
请注意:要跟踪项目,选择ID不是最佳选择 因为失效日期不同,这意味着如果id 2用户有失效日期 在1周后,所以id 3用户在此之前有到期日。
提前致谢
答案 0 :(得分:0)
首先,如果您只想获取10条记录,请在查询中添加Limit
,如下所示
select id, item1, item2, item3, expirydate, description from table WHERE expirydate >= ? Limit 10 ;
它只会获取匹配的10条记录 检查您的查询是否正常
下一步在此处获取战利品以创建webage的分页