PHP MySQL产品数据和分页

时间:2015-06-11 17:39:22

标签: php mysql pdo

我很忙的第一个电子商务项目,需要一些帮助。

在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个产品。

1 个答案:

答案 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();