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

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

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

第一次打开的时候,会出现一个警告提示。原因是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位大大!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn