в случае, если условие, равное и не равное, возвращает true для одного и того же условия - PullRequest
0 голосов
/ 24 марта 2020
<div class="row">
    <div class="container">
        <div class="col s12">
            <ul class="pagination center-align text-blue">

            <?php 

                $get_pagCount = "SELECT COUNT(p_id) as count_pro FROM products";

                $run_pagCount = mysqli_query($con,$get_pagCount);

                $row_pagCount = mysqli_fetch_array($run_pagCount);

                $totalRecords = $row_pagCount["count_pro"];

                $totalPages = ceil($totalRecords / $perPage);               

            ?>  

            <!-- left symbol of pagination -->          

            <?php if ($paginationNo==1): ?>

                <li class="waves-effect disabled"><a href="#!"><i class="material-icons">chevron_left</i></a></li>

            <?php endif; ?>

            <?php if ($paginationNo!==1): ?>

                <li class="waves-effect"><a href="products.php?paginationId=<?php echo($paginationNo-1); ?>"><i class="material-icons">chevron_left</i></a></li>

            <?php endif; ?>


            <!-- pagination numbers dynamics -->

            <?php for ($i=1; $i<=$totalPages; $i++): ?>

                <?php if ($paginationNo == $i): ?>

                    <li class="waves-effect active"><a href="#!"><?php echo($i); ?></a></li>

                <?php endif; ?>

                <?php if ($paginationNo !== $i): ?>

                    <li class="waves-effect"><a href="products.php?paginationId=<?php echo($i); ?>">2</a></li>

                <?php endif; ?>

            <?php endfor; ?>




            <!-- right symbol of pagination -->

            <?php if ($paginationNo == $totalPages): ?>

                <li class="waves-effect disabled"><a href="#!"><i class="material-icons">chevron_right</i></a></li>

            <?php endif; ?>

            <?php if ($paginationNo !== $totalPages): ?>

                <li class="waves-effect"><a href="products.php?paginationId=<?php echo($paginationNo+1); ?>"><i class="material-icons">chevron_right</i></a></li>


            <?php endif; ?>

            </ul>
        </div>
    </div>
</div>

все условия if равные и не равные в вышеприведенном коде оба возвращают true для одного и того же условия. как это возможно? как на рисунке ниже, две стрелки созданы для левой стрелки нумерации страниц и две li для 1 нумерации страниц, одна активная, а другая - не активная, как указано в условиях if в коде выше. и если я сделаю $ paginationNo = 5 примерно равным $ totalPages, то стрелка влево создается один раз, а стрелка вправо для разбиения на страницы создается два раза вывод кода выше

1 Ответ

0 голосов
/ 24 марта 2020

«Попробуйте просто! = Поскольку я предполагаю, что $ paginationNo, вероятно, является строкой, а 1 - цифрой c, поэтому тест не выполняется для типа данных» <--- это сработало </p>

...