Я пытаюсь добавить несколько разных переменных GET в URL - PullRequest
0 голосов
/ 02 февраля 2020

В настоящее время я работаю над php разбиением на страницы и мне удается заставить код работать ... моя проблема сейчас в том, что каждый раз, когда я нажимаю кнопку СЛЕДУЮЩАЯ или ПРЕДЫДУЩАЯ, переменной в URL больше не будет ..

пожалуйста, как мне сделать так, чтобы переменные уже в url оставались неизменными, почему новые переменные нумерации страниц добавляются в url ...

Мой URL

www.example.com/profile.php?id=2

При нажатии на предыдущую или следующую кнопку нумерации страниц мой URL будет выглядеть так:

www.example.com/profile.php?pageno=4

Моя проблема в том, как сделать так, чтобы id = 2 не уходил, даже если Я продолжаю нажимать на кнопку нумерации страниц

www.example.com/profile.php?id=2&pageno=3

www.example.com/profile.php?id=2&pageno=4

www.example.com/profile.php?id=2&pageno=5

Код нумерации страниц ... пожалуйста, помогите мне

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

    $conn=mysqli_connect("localhost","skyworld1_sky","uromiUROMI914@#","skyworld1_sky");
    // Check connection
    if (mysqli_connect_errno()){
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
        die();
    }

    $total_pages_sql = "SELECT COUNT(*) FROM phonegap2";
    $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 phonegap2 LIMIT $offset, $no_of_records_per_page";
    $res_data = mysqli_query($conn,$sql);


    echo "<table border=\"1\" align=\"center\">";
echo "<tr><th>email</th>";
 echo "<th>fullname</th>";
  echo "<th>country</th>";
 echo "<th></th></tr>";

    while($row = mysqli_fetch_array($res_data)){
        //here goes the data


  echo "<tr><td>";
echo $row['email'];
echo "</td><td>";
echo $row['fullname'];

    echo "</td><td>";
        echo $row['country'];

    echo "</td><td>";


    echo " <input type='submit' value='BUY'>";

    echo "</td><tr>";     







    }
    echo "</table>";
    mysqli_close($conn);
?>
<ul align="center" 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>

1 Ответ

0 голосов
/ 02 февраля 2020

Проблема

Поле URL должно отображаться в URL, когда пользователь нажимает на предыдущую или следующую ссылку.

Решение

Если у вас есть идентификатор в качестве параметра GET, вы можете просто вытащить его из URL-адреса и добавить в свои ссылки на странице.

<a href="<?php if($pageno >= $total_pages){ echo '#'; } else { echo "?id=".$_GET['id']."&pageno=".($pageno + 1); } ?>">Next</a>

Пример

В моем URL на странице загрузки у меня есть -

http://localhost?id=2

Затем на странице PHP -

<?php
$total_pages = 100;
$pageno = 3;
?>

<a href="<?php echo "?id=".$_GET['id']."&pageno=".($pageno + 1); ?>">Next</a>

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...