Advertisement
dzimmo

Untitled

May 28th, 2018
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.81 KB | None | 0 0
  1. <?php
  2. $productArray = [
  3. [ 'title' => 'Lenovo', 'price' => 9e3, 'reviews' => 107, 'rating' => 11],
  4. [ 'title' => 'iPhone', 'price' => 9e4, 'reviews' => 120, 'rating' => 12],
  5. [ 'title' => 'Samsung', 'price' => 5e4, 'reviews' => 110, 'rating' => 14],
  6. [ 'title' => 'Lenovo', 'price' => 2e4, 'reviews' => 130, 'rating' => 15],
  7. [ 'title' => 'Xiaomi ', 'price' => 7e3, 'reviews' => 110, 'rating' => 13], ];
  8.  
  9. //Описываем функцию, которая отвечает за создание карточки товара и стилизацию bootstrap
  10. //На вход принимает массив с характеристиками одного товара
  11. function productCartConstructor($oneProductArray){
  12.     echo "<div class='card m-3' style='width: 18rem'>
  13.    <img class='card-img-top' src='http://via.placeholder.com/250x150' alt='Card image cap'>
  14.    <div class='card-body'>";
  15.     foreach ($oneProductArray as $key => $value) {
  16.         echo "<p class='card-text'>$key - $value </p>";
  17.     }
  18.     echo "</div>  
  19.            </div>";
  20. }
  21.  
  22. //переменная count отвечает за то, сколько у нас будет максимально на странице товаров
  23. $count = 3;
  24.  
  25. //Описываем функцию которая показывает пагинацию, принимая на вход массив товаров и количество страниц
  26. function displayPagination($array,$c){
  27.     $lenth = ceil(count($array)/$c);
  28.     for ($i = 0; $i < $lenth; $i++) {
  29.          echo "<li class='page-item'><a class='page-link' href='?page= $i '>".($i+1)."</a></li> ";
  30.     }
  31. }
  32.  
  33. //Описываем функцию которая которая выводит на экран карточки с товарами, принимая на вход массив товаров
  34. //и количество страниц
  35. function displayProducts($array,$c){
  36. $page = isset($_GET["page"]) ? (int) $_GET["page"] : 0;
  37. for($i = $page*$c; $i < ($page+1)*$c; $i++){
  38.     if (isset($array[$i])){
  39.      productCartConstructor($array[$i]);}
  40. }
  41. };
  42.  
  43. ?>
  44. <!DOCTYPE html>
  45. <html lang="en">
  46. <head>
  47.     <meta charset="UTF-8">
  48.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  49.     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  50.     <title>Document</title>
  51.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
  52.     integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
  53. </head>
  54. <body>
  55. <div class="container">
  56.     <?php displayProducts($productArray, $count); ?>
  57.     <nav aria-label="Page navigation example">
  58.       <ul class="pagination">
  59.             <?php  displayPagination($productArray, $count); ?>
  60.         </ul>
  61.     </nav>
  62. </div>
  63. </body>
  64. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement