Home >Backend Development >PHP Tutorial >php的分页显示数据库的问题,有代码,求分析分析

php的分页显示数据库的问题,有代码,求分析分析

WBOY
WBOYOriginal
2016-06-23 13:32:171027browse

第一次打开的时候,会出现一个警告提示。原因是Undefined index: page
怎么解决传值的问题啊?

代码如下

  
include("conn.php");
$perNumber=10; //每页显示的记录数
$page=$_GET['page']; //获得当前的页面值
$count=mysqli_query($conn,"select count(*) from user"); //获得记录总数
$rs=mysqli_fetch_array($count); 
$totalNumber=$rs[0];
$totalPage=ceil($totalNumber/$perNumber); //计算出总页数
if (!isset($page)) {
 $page=1;
} //如果没有值,则赋值1
$startCount=($page-1)*$perNumber; //分页开始,根据此方法计算出开始的记录
$result=mysqli_query($conn,"select * from user limit $startCount,$perNumber"); //根据前面的计算出开始的记录和记录数
while ($row=mysqli_fetch_array($result)) {
 echo "user_id:".$row['user_id']."   ";
 echo "user_name:".$row['user_name']."
"; //显示数据库的内容
}
if ($page != 1) { //页数不等于1
?>
">上一页 
}
for ($i=1;$i ?>
">
}
if ($page ?>
">下一页

?>






回复讨论(解决方案)

$page=$_GET['page']; //获得当前的页面值
改为
$page=isset($_GET['page'])? $_GET['page'] : 1; //获得当前的页面值

$page= @$_GET['page']; //获得当前的页面值

改成
$page=isset($_GET['page']) ? $_GET['page'] : 1; //获得当前的页面值
也可以,但是
if (!isset($page)) {
 $page=1;
} //如果没有值,则赋值1
就多余了

你没有检查 page 小于或等于 0 的情况,程序存在潜在的问题

感谢楼上2位大大!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn