php的分页显示数据库的问题,有代码,求分析分析
程序员文章站
2022-06-12 12:58:43
...
第一次打开的时候,会出现一个警告提示。原因是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 ?>
下一页
}
?>
怎么解决传值的问题啊?
代码如下
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位大大!
上一篇: MySQL-5.6.13解压版(zip版)装配配置教程
下一篇: 测试php函数的方法_PHP教程