Как передать значение $ _get, необходимое для sql_query, в элементы управления нумерацией страниц - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть эта форма на странице html:

<form action="php/pagination-script.php">
      <div class="form-group">
       <label form="Species"></label>
     <input type="hidden" name="pageno" value="1"/>
           <select class="form-control" id="opts" name="category">
            <option value="" selected disabled hidden>Select category</option>
            <option value="Fish">Fish</option>
            <option value="Fowl">Fowl</option>
            <option value="Mammal">Mammal</option>
           </select>
         <br>
      <input type="submit" value="Submit">
    </div>
   </form>

У нее есть скрытое поле ввода с именем = "pageno" value = "1" Форма также имеет название = "категория Msgstr "Оба эти значения переданы в скрипт php & pagination ниже. Сценарий разбивки на страницы работает нормально, если я вырезал код ($ _get ['category']), но затем я не могу использовать предложение WHERE для моих результатов sql. Предложение WHERE работает нормально, если я не пытаюсь выполнить нумерацию страниц. Кто-нибудь может заставить нумерацию страниц работать с предложением WHERE? Я думаю, что мне нужно получить значение $ category в коде нумерации страниц, но я не могу понять, как это сделать. Я начинающий программист.

<html>
    <body>
<?php
    include('../inc/header.php');


        if (isset($_GET['pageno'])) {
            $pageno = $_GET['pageno'];
         }
        else {
            $pageno = 1;
            }
         /*
         if (isset($_GET['category'])) {
            $category = $_GET['category'];
            }
        else {
            echo "<h2>No animals found.</h2><p>Please check that you selected a category from the dropdown list</p>";
            echo '<p><button onclick="location.href=\'../pages2.htm\'">Back To Search</button></p>';
                die;
        } */
        $no_of_records_per_page = 2;
        $offset = ($pageno-1) * $no_of_records_per_page;

        $conn=mysqli_connect("localhost","user","myPswrd","myDB");
        // Check connection
        if (mysqli_connect_errno()){
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
            die();
        }

        $total_pages_sql = "SELECT COUNT(*) FROM myAnimals"; //WHERE category1 ='$category' OR category2 ='$category' ORDER BY rating desc";
        $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 myAnimals LIMIT $offset, $no_of_records_per_page";
        $res_data = mysqli_query($conn,$sql);
        while($row = mysqli_fetch_array($res_data)){
            //here goes the data
            echo '<img ' . ' class="img-responsive  center-block"' . ' src="' . $row["fileName"] . '" alt="' . $row["title"] . '"/><br>'
            . '<h3>'. ' "'  .  $row["title"] . '" </h3>' . '<p class="ref">Ref id #' . $row["id"] . '</p>';
        }
            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>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...