PHP分页异常:点击分页后毕业生列表无数据返回排查
解决分页时丢失classof参数导致无数据返回的问题
你完全找对了问题根源!当点击分页按钮时,生成的URL只携带了page参数,没有把关键的classof参数传递过去,导致代码里的isset($_GET['classof'])判断不成立,整个查询和渲染逻辑都没执行,页面自然就没有数据了。
修复步骤
只需要修改分页链接的生成代码,把classof参数也添加到URL中即可:
原分页代码:
for ($page=1;$page<=$number_of_pages;$page++) { echo '<a href="students.php?page=' . $page . '">' . $page . '</a>'; }
修改后的代码:
for ($page=1;$page<=$number_of_pages;$page++) { // 使用urlencode处理参数,避免特殊字符导致URL解析异常 echo '<a href="students.php?classof=' . urlencode($classof) . '&page=' . $page . '">' . $page . '</a>'; }
额外优化建议
为了提升用户体验,当没有匹配的毕业生记录时,添加友好的提示信息,避免页面完全空白。在if ($number_of_results > 0 ) { ... }块后面补充:
} else { echo "<p class='text-center text-muted'>暂无该毕业年份的学生记录</p>"; }
这样修改后,每次点击分页按钮都会同时传递classof和page参数,isset($_GET['classof'])的条件会持续满足,代码就能正确执行对应年份的分页查询,展示出相应的数据了。
内容的提问来源于stack exchange,提问作者Jesse
相关产品推荐
相关产品推荐

