установить номер страницы в качестве URL по умолчанию - PullRequest
0 голосов
/ 17 октября 2019

Так что мне удалось построить работающую систему нумерации страниц в php. Но я хочу, чтобы пользователи по умолчанию использовали первый номер пагинации, поэтому, например, если кто-то нажмет на категорию 1, URL изменится на website.php?category=1, и я бы хотел, чтобы он был website.php?category=1&pagenumber=1 в качестве URL по умолчанию.

Причина, по которой я этого хочу, заключается в том, что мне не нужно писать 2 разных запроса: 1, если категория установлена, но без номера страницы, и 1, если оба заданы.

function getNews()
{
    // check if category is get via URL
    if (isset($_GET["category"]) && is_numeric($_GET["category"]) && intval($_GET["category"])) {
        // bind get category to categoryId
        $categoryId = intval($_GET["category"]);
        // if category is 1
        if ($categoryId == 1) {
            try {
                $db = new Connection();

                $database = $db->openConnection();

                if (isset($_GET["pagenumber"]) && is_numeric($_GET["pagenumber"]) && intval($_GET["pagenumber"])) {
                    $pageNumber = intval($_GET["pagenumber"]);

                    $itemsPerPage = 9;

                    $offset = ($pageNumber - 1) * $itemsPerPage;

                    $stm = $database->query("SELECT * FROM blog where blog.Categoryid = $categoryId LIMIT 9 OFFSET $offset ");

                    $stm->execute();

                    $rowNews = $stm->fetchAll(PDO::FETCH_ASSOC);

                    $totalItems = $database->query("SELECT COUNT(*) FROM blog where blog.Categoryid = $categoryId")->fetchColumn();

                    $totalPages = intval(ceil($totalItems / $itemsPerPage));

                    $previousButton = ($pageNumber + 1) - $totalPages;

                    $nextButton = ($pageNumber) * $totalPages;

                    $pageIndex = 0;

это то, что яв настоящее время есть (я вырезал систему нумерации страниц, могу вставить ее при необходимости).

//

вот так я генерирую свою категорию выберите

<?php
        if (isset($_GET["category"])){
        $db = new Connection();

        $categoryId = $_GET["category"];

        $database = $db->openConnection();

        $stm = $database->query("SELECT * FROM category");

        $stm->execute();

        $fetchCategory = $stm->fetchAll(PDO::FETCH_ASSOC);

        foreach ($fetchCategory as $cats) {
            ?>
            <a class="dropdown-item" href="blog.php?category=<?php echo $cats["categoryid"]; ?>"><?php echo $cats["categorytitle"]; ?></a>
            <?php
        }
        ?>
        <?php
        }else{
            $categoryId = 1;
        }
        ?>
    </div>
</div>


<?php
$categoryId = -1;

if (isset($_GET["category"]) && intval($_GET["category"])) {
    $categoryId = intval($_GET["category"]);
    switch ($categoryId) {
        case 1:
            // do query for category id 1
            getNews();
            break;
        case 2:
            // do query for category id 2
            getEwarehouse();
            break;
        case 3:
            // do query for category id 3
            getPartners();
            break;
        default:
            ifnotNumeric();
            break;
    }
} else {
    ifnotSet();
}
?>

Некоторыеболее общая информация:

  1. Запуск laragon 4.0.15 с PHP 7.3.9
  2. Использование HeidiSQL 10.2.0.5599
  3. Использование PHPStorm 2019.2.2

если вам нужно больше примеров кода, я могу вставить их.

...