Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $productArray = [
- [ 'title' => 'Lenovo', 'price' => 9e3, 'reviews' => 107, 'rating' => 11],
- [ 'title' => 'iPhone', 'price' => 9e4, 'reviews' => 120, 'rating' => 12],
- [ 'title' => 'Samsung', 'price' => 5e4, 'reviews' => 110, 'rating' => 14],
- [ 'title' => 'Lenovo', 'price' => 2e4, 'reviews' => 130, 'rating' => 15],
- [ 'title' => 'Xiaomi ', 'price' => 7e3, 'reviews' => 110, 'rating' => 13], ];
- //Описываем функцию, которая отвечает за создание карточки товара и стилизацию bootstrap
- //На вход принимает массив с характеристиками одного товара
- function productCartConstructor($oneProductArray){
- echo "<div class='card m-3' style='width: 18rem'>
- <img class='card-img-top' src='http://via.placeholder.com/250x150' alt='Card image cap'>
- <div class='card-body'>";
- foreach ($oneProductArray as $key => $value) {
- echo "<p class='card-text'>$key - $value </p>";
- }
- echo "</div>
- </div>";
- }
- //переменная count отвечает за то, сколько у нас будет максимально на странице товаров
- $count = 3;
- //Описываем функцию которая показывает пагинацию, принимая на вход массив товаров и количество страниц
- function displayPagination($array,$c){
- $lenth = ceil(count($array)/$c);
- for ($i = 0; $i < $lenth; $i++) {
- echo "<li class='page-item'><a class='page-link' href='?page= $i '>".($i+1)."</a></li> ";
- }
- }
- //Описываем функцию которая которая выводит на экран карточки с товарами, принимая на вход массив товаров
- //и количество страниц
- function displayProducts($array,$c){
- $page = isset($_GET["page"]) ? (int) $_GET["page"] : 0;
- for($i = $page*$c; $i < ($page+1)*$c; $i++){
- if (isset($array[$i])){
- productCartConstructor($array[$i]);}
- }
- };
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta http-equiv="X-UA-Compatible" content="ie=edge">
- <title>Document</title>
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
- integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
- </head>
- <body>
- <div class="container">
- <?php displayProducts($productArray, $count); ?>
- <nav aria-label="Page navigation example">
- <ul class="pagination">
- <?php displayPagination($productArray, $count); ?>
- </ul>
- </nav>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement