@Katsuro19

Как связать два условия в foreach php?

<?php  include("base.php"); 

    //Page

    $page = isset( $_GET['page'] ) ? (int)$_GET['page'] : 1;
    $prePage = isset( $_GET['pre-page'] ) && $_GET['pre-page'] <= 50 ? (int)$_GET['pre-page'] : 4;

    //Positioning
    $start = ($page > 1) ? ($page * $prePage) - $prePage : 0;

    //Query
    $row = $pdo->prepare(" SELECT SQL_CALC_FOUND_ROWS id, name , payback , `energy-consumption` , hashrate , income , price  FROM `items` LIMIT {$start}, {$prePage} ");

    $row->execute();

    $row = $row->fetchAll(PDO::FETCH_ASSOC);

    // $row = $row->fetchAll(PDO::FETCH_ASSOC);

    //Pages
    $total = $pdo->query( "SELECT FOUND_ROWS() as total")->fetch()['total'];
    $pages = ceil($total / $prePage);



    $q = "SELECT * FROM `items` ORDER BY `items`.`price`";
    // echo dclean($_GET['search']);
    if ($_GET['search']) {
       $search = $_GET['search'];
       $q = "SELECT * FROM `items` WHERE `name` LIKE '%$search%' ";
    }
    if ($_GET['sort_by']=='ASC') {
        $q = "SELECT * FROM `items` ORDER BY `items`.`price` ASC";
    }
    if ($_GET['sort_by']=='DESC') {
        $q = "SELECT * FROM `items` ORDER BY `items`.`price` DESC";
    }

?><code lang="html">
<!--  <?php //<code lang="php">
foreach($pdo->query($q) as $row )
</code>{ ?> -->
                    <?php foreach($row as $row ){ ?>
                        <div class="col-lg-6 col-md-6">
                            <div class="product">
                                <div class="product-photo">
                                    <img src="img/product/1.png" alt="Product">
                                </div>
                                <div class="product-content">
                                    <div class="product-content-header">
                                        <h2><?php echo $row['name']; ?></h2>
                                    </div>
                                    <div class="product-content-characteristic">
                                        <h4>Окупаемость:  <span><?php echo $row['payback']; ?></span><br>
                                        Энергопотребление:  <span><?php echo $row['energy-consumption']; ?></span><br>
                                        Хэшрейт:  <span><?php echo $row['hashrate']; ?></span></h4>
                                    </div>
                                    <div class="product-content-price">
                                        <div class="income">
                                            <p>Доход в месяц:</p>
                                            <h1>= <?php echo $row['income']; ?>p.</h1>
                                        </div>
                                        <div class="cost">
                                            <p>Стоимость оборудования</p>
                                            <h1>= <?php echo $row['price']; ?>p.</h1>
                                        </div>
                                    </div>
                                    <div class="product-content-button">
                                        <a class="btn btn-product">Приобрести оборудование</a>
                                    </div>
                                </div>
                            </div> 
                        </div>
                    <?php }; ?>
</code>
foreach($pdo->query($q) as $row ) //это условия действует на сортировку и поиск 
foreach($row as $row ) // это условия для пагинации

Мне нужно что бы сортировка и поиск товаров и пагинация работала вместе , но я не могу связать две функции вместе , кто может подсказать ?
  • Вопрос задан
  • 250 просмотров
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
Для пагинации используйте limit/offset в SQL запросе, и не нужно будет ничего комбинировать.

И foreach - это не условия, а языковая конструкция для переборов масива.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы