Redoker
@Redoker
Хочу научиться в программирование

Как решить проблему с URL в пагинации?

Первый раз пишу сайт и на пагинации возникли очень большие (для меня) проблемы.

Дано:
Интернет-магазин с несколькими категориями. Переход по категориям сделан, есть скелет пагинации, но из-за недостатка понимания не могу сделать, чтобы переходило по страницам.

Постановка проблемы:
mixhookahshop.ru:8080/categorie.php?id=2
Это URL на одну из категорий товаров.

mixhookahshop.ru:8080/categorie.php?page=2
Это URL, когда переходишь по страницам пагинации.

<?php
$results_per_page = 10;
$page = 1;
                
$sql = "SELECT * FROM `products`";
$result = mysqli_query($connection, $sql);
                
$number_of_results = mysqli_num_rows($result);
                
$number_of_pages = ceil($number_of_results/$results_per_page);
                
$offset = ($page - 1) * $results_per_page;
                
$sql = "SELECT * FROM `products` LIMIT $offset, $results_per_page";
$result = mysqli_query($connection, $sql);
                
while ($row = mysqli_fetch_array($result))
{
echo $row['id'] . ' ' . $row['title'] . '<br>';
}
                
if (!isset($_GET['page']))
{
$page = 1;
} else
 {
$page = $_GET['page'];
}

for ($page = 1; $page <= $number_of_pages; $page++)
{
echo '<a href = "categorie.php?page=' . $page . '">' . $page . '</a>';
}
?>

Так выглядит реализация пагинации.

<?php
                while( $cat = mysqli_fetch_assoc($categories) )
                {
                    ?>
                        <a class="nav__link" href= "categorie.php?id=<?php echo $cat['id']; ?>"><strong><?php echo $cat['title']; ?></strong></a>
                    <?php
                }
            ?>

Так выглядит переход к категории товаров.

Соответственно, я думаю, что URL должен принимать примерно такой вид: "/categorie.php?id=2/page=2" или что-то подобное. Это мой первый опыт в написании сайта и я не совсем понимаю таких тонкостей.

Задача:
Надо исправить код, чтобы осуществлялся переход по страницам.

Комментарий:
Было бы очень полезно, если бы кто-то объяснил подробнее принцип работы ссылок и заранее спасибо за помощь. Попытался более подробно объяснить проблему, если что-то не понятно, то обязательно дополню, так как очень хочу решить эту проблему.
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
SeaInside
@SeaInside
15 лет пилю все эти штуки
У вас вся ошибка в том, что вопросительным знаком обозначается только начало GET-параметров, а не каждый из них. Параметры разделяются амперсандом.
// categorie.php?id=2&page=25
echo $_GET['id'] // 2
echo $_GET['page'] // 25

И category всё-таки, а не categorie.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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