dzimmo

Untitled

May 28th, 2018
103
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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>
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×