Mysql нумерация страниц реализована с использованием PHP & HTML Проблема - PullRequest
0 голосов
/ 24 марта 2020

У меня проблема с разбиением на страницы, и после нескольких часов попыток заставить это работать, последним средством является переполнение стека! Результаты запроса отображают список продуктов, однако результаты отображаются все на 1 странице и не отображаются правильно для разбивки на страницы. Я не уверен, где я ошибся здесь.

<?php
if (isset($_GET['pageno'])) {
    $pageno = $_GET['pageno'];
} else {
    $pageno = 1;
}
$no_of_records_per_page = 2;
$offset = ($pageno-1) * $no_of_records_per_page;

$conn=mysqli_connect("localhost",".....","....",".....");
// Check connection
if (mysqli_connect_errno()){
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    die();
}
$total_pages_sql = "SELECT COUNT(*) FROM tbl_product";
$result = mysqli_query($conn,$total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];

$total_pages = ceil($total_rows / $no_of_records_per_page);

$sql = "SELECT * FROM tbl_product LIMIT $offset, $no_of_records_per_page";
$res_data = mysqli_query($conn,$sql);
while($row = mysqli_fetch_array($res_data)){
    $product_array = $shoppingCart->getAllProduct($query);
    if (! empty($product_array)) {
        foreach ($product_array as $key => $value) {
            ?>
            <div class="product-item">
            <form method="post"
                action="index.php?action=add&code=<?php echo $product_array[$key]["code"]; ?>">
                <div class="product-image">
                    <img src="<?php echo $product_array[$key]["image"]; ?>">
                    <div class="product-title">
                        <?php echo $product_array[$key]["name"]; ?>
                    </div>
                </div>
                <div class="product-footer">
                    <div class="float-right">
                        <input type="text" name="quantity" value="1"
                            size="2" class="input-cart-quantity" />
                        <input type="image"
                            src="image/add-to-cart.png" class="btnAddAction" />
                    </div>
                    <div class="product-price float-left">
                        <?php echo "&pound;".$product_array[$key]["price"]; ?>
                    </div>
                </div>
            </form>
        </div>
        <?php
        }
    }
    ?>
<?php
}
mysqli_close($conn);
?>

<ul class="pagination">
    <li><a href="?pageno=1">First</a></li>
    <li class="<?php if($pageno <= 1){ echo 'disabled'; } ?>">
        <a href="<?php if($pageno <= 1){ echo '#'; } else { echo "?pageno=".($pageno - 1); } ?>">Prev</a>
    </li>
    <li class="<?php if($pageno >= $total_pages){ echo 'disabled'; } ?>">
        <a href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo "?pageno=".($pageno + 1); } ?>">Next</a>
    </li>
    <li><a href="?pageno=<?php echo $total_pages; ?>">Last</a></li>
</ul>
...