我很忙的第一个电子商务项目,需要一些帮助。
在stackoverflow成员的先前帮助下,我得到了以下代码,可以从数据库中获取产品数据并根据模板样式显示:
<div class="row">
<?php
include("_assets/_conn.php");
$sql = "SELECT * FROM _products";
$result = dbConnect()->query($sql);
// If the SQL query is succesfully performed ($result not false)
if ($result !== false) {
$cols = $result->columnCount(); // Number of returned columns
// Generate ADS Feed for each ROW
$count = 0;
foreach ($result as $row) {
if ($count % 3 == 0) {
echo '</div>';
echo '<div class="row">';
}
++$count;
echo '<div class="col-sm-6 col-md-4">
<div class="thumbnail">
<img src="products/' . $row['im1'] . '">
<div class="caption">
<h3>' . $row['name'] . '</h3>
<p><a href="product.php?i=' . $row['name'] . '" class="btn btn-primary" role="button"> View Product</a></p>
</div>
</div>
</div>';
}
}
?>
</div>
我正在获得正确的产品格式,但我不想在一个页面上显示所有200多种产品。
有人可以告诉我如何限制每页显示的产品数量,让我们说每页9个产品并使用&#34;分页&#34;显示以下9个产品。
答案 0 :(得分:1)
假设您在GET全局中有一个页面变量,您可以在SQL语句中使用Limit。
$results_per_page = 10;
$skip = ($_GET['page'] - 1) * $results_per_page;
$sql = "SELECT * FROM _products LIMIT :skip, :show";
$handler = dbConnect()->prepare($sql);
$handler->bindValue(":skip", $skip);
$handler->bindValue(":show", $results_per_page);
$handler->execute();
$result = $handler->fetchAll();