2015-06-11 1 views
-1

Первый проект электронной коммерции Я занят и нуждаюсь в некоторой помощи.PHP MySQL данные продукта и разбивка на страницы

С предыдущей помощью члена 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 продуктов на странице и с помощью «разбиения на страницы», чтобы отобразить следующие 9 продуктов.

ответ

1

Предполагая, что у вас есть переменная страницы в глобальном GET, вы можете использовать Limit в своем SQL-заявлении.

$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(); 
Смежные вопросы