第一页应为1,但其为-1,下一页应为2,但为0。
我该如何使这项工作?我试图编辑$ page但是当我这样做时,if / else变得很奇怪。
我添加了整个代码......
...
$resultt= "SELECT * FROM users WHERE AND country='$okc' AND state='$oks'";
if(!empty($a1) && empty($a2)){
$resultt .= " AND aar>=";
...
}
if语句超过1个。
$result = mysqli_query($con,"$resultt");
$rec_limit = 19;
$row = mysqli_fetch_array($result);
$rec_count = $row[0];
if( isset($_GET['page'] ) )
{
$page = $_GET['page'] + 1;
$offset = $rec_limit * $page ;
}
else
{
$page = 0;
$offset = 0;
}
$left_rec = $rec_count - ($page * $rec_limit);
$resultt .= "LIMIT $offset, $rec_limit";
$sql = $resultt;
$retval = mysqli_query( $con, "$resultt" );
if( $page > 0 )
{
$last = $page - 1;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $page == 0 )
{
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}
else if( $left_rec < $rec_limit )
{
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";
}
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
}
答案 0 :(得分:1)
$ _ GET是一个类似于$ row的数组。
访问您始终使用[]的数组键。
将您的内容更改为$ _GET ['page']
更好:
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
是页面设置然后将值转换为int,因为你不知道什么是incomming。 如果没有设置,请参阅第1页。
顺便说一句。像这样的结构:
$resultt = "LIMIT $offset, $rec_limit";
可以/会在你的主页内导致sql注入错误! 永远不要用变量构建一个sql! 改为使用参数!
答案 1 :(得分:1)
您应该更改部分代码才能使其正常工作。 $_GET['page']
应该为您提供查询的页码,所以不要试图操纵它。
$sql = "SELECT * FROM users WHERE country='$okc' AND state='$oks'"
$rec_limit = 10;
$result = mysqli_query( $con, $sql );
$row = mysqli_fetch_array( $result );
$rec_count = $row[0];
$left_rec = $rec_count - ( $rec_limit * $page );
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$offset = $rec_limit * ( $page - 1 ) ;
$sql.= " LIMIT $rec_limit OFFSET $offset";
$result = mysqli_query( $con, $sql );
$row = mysqli_fetch_array( $result );
if( $page > 1 ){
$last = $page - 1;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}else if( $page == 1 ){
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";
}else if( $left_rec < $rec_limit ){
$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";
}
while( $row = mysqli_fetch_array( $result, MYSQL_ASSOC ) ){
// use $row to echo row contents ...
}