在php分页中保留post变量


keep post variable in php pagination

我有一个php分页页面,用户提交后会搜索一些东西,在第一个页面中查询mysql是可以的,但在下一个页面中,我得到了白色的空白页面。

下面是寻呼代码。

$_SESSION['nationality'] = $_POST['nationality'];
$reclimit = 2;
if(isset($_GET['page'])){
$page = $_GET['page'];
} else {
$page = 1;
}
$start = (($page-1) * $reclimit);
$sql = "SELECT userid, name, LEFT(hkid, 4) as hkid, description, nationality, photo_1, photo_2, photo_3 FROM $tbl_name WHERE `nationality` LIKE '%$_SESSION[nationality]%'";
$records = $con->query($sql);
$total = $records->num_rows;
$tpages = ceil($total / $reclimit);
$rec = "SELECT userid, name, LEFT(hkid, 4) as hkid, description, nationality, photo_1, photo_2, photo_3 FROM $tbl_name WHERE `nationality` LIKE '%$_SESSION[nationality]%' LIMIT $start, $reclimit";
$records = $con->query($rec);
while ($row = mysqli_fetch_assoc($records)){
// Loop record
}
// Paging
echo '<ul class="pagination pagination-lg">';
for( $i=1; $i <= $tpages; $i++ ) {
$active = $i == $page ? 'class="active"' : '';
echo "<li $active ><a href='$_SERVER[PHP_SELF]?page=" .$i. "'>" .$i. "</a></li>";
}
echo '</ul>';

这对我有效:

<?php 
 $limit =3;
if (!isset($_GET['pg'])) {
    $pg = 1;
} else {
    $pg = $_GET['pg'];
}
$start = ($pg - 1 ) * $limit;                        
$sql = "SELECT * FROM tableName LIMIT $start , $limit";
?>