108)PHP分页显示
一个代码页的链接:https://www.cnblogs.com/mmykdbc/p/6688460.html
首先一个简单的代码展示:
目录关系:
数据库表格展示:
结果展示:
然后 代码展示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>分页</title>
<?php //分页的函数
function news($pageNum = 1, $pageSize = 3)
{
$array = array();
$coon = mysqli_connect("localhost", "root",'root','test');
// limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
$rs = "select * from chengji where xuehao >='150100' and xuehao <150200 limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
$r = mysqli_query($coon, $rs);
while ($obj = mysqli_fetch_object($r)) {
$array[] = $obj;
}
mysqli_close($coon);
return $array;
} //显示总页数的函数
function allNews()
{
$coon = mysqli_connect("localhost", "root",'root','test');
$rs = "select count(*) num from chengji"; //可以显示出总页数
$r = mysqli_query($coon, $rs);
$obj = mysqli_fetch_object($r);
mysqli_close($coon);
return $obj->num;
} @$allNum = allNews();
@$pageSize = 3; //约定没页显示几条信息
@$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
@$endPage = ceil($allNum/$pageSize); //总页数
@$array = news($pageNum,$pageSize);
?>
</head>
<body> <table border="1" style="text-align: center" cellpadding="0">
<tr>
<th>学号</th>
<th>姓名</th>
<th>课程名字</th>
<th>平时成绩</th>
<th>实验</th>
<th>作业</th>
<th>期末成绩</th>
<th>总成绩</th>
</tr>
<?php
foreach($array as $key=>$values){
echo "<tr>";
echo "<td>{$values->xuehao}</td>";
echo "<td>{$values->xingming}</td>";
echo "<td>{$values->class_name}</td>";
echo "<td>{$values->pingshihcengji}</td>";
echo "<td>{$values->shiyanfenshu}</td>";
echo "<td>{$values->zuoye}</td>";
echo "<td>{$values->qimochengji}</td>";
echo "<td>{$values->zongchengji}</td>";
echo "</tr>";
}
?> </table> <div>
<a href="?pageNum=1">首页</a>
<a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a>
<a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a>
<a href="?pageNum=<?php echo $endPage?>">尾页</a> </div> </body>
</html>
在一个小的作业中的应用:
5)最大的体会就是分页显示,由于,每一次点击‘上一页’或者‘下一页’,都是页面刷新一次,使得,
我用$_POST接收的变量在第二次请求时会清空,然后点击‘上一页’或者‘下一页’就没有显示,为什么会这样?因为我的第一次显示是接着上一次查询页面的,自然我用$_POST['neirong']是有值的,
但是,我再一次刷新看这个页面,那个 $_POST['neirong']就会清空,因为此次的url请求是承接我上一次的页面请求,上一次没有向服务器提交
$_POST['neirong'],所以 没有这个值,
我后面的很多与之相关的变量就是空值,
自然,就没有数据显示。不过后来
我把第一次收到的这个$_POST['neirong']通过GET形式,
每次传给新的页面,这样$_POST['neirong']就不会丢失了。
代码展示:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="../CSS/H-ui.min.css"/>
<link rel="stylesheet" type="text/css" href="../CSS/H-ui.admin.css"/>
<link rel="stylesheet" type="text/css" href="../CSS/iconfont.css"/>
<link rel="stylesheet" type="text/css" href="../CSS/skin.css" id="skin"/>
<link rel="stylesheet" type="text/css" href="../CSS/style.css"/>
<title>哈尔滨理工大学成绩处理页面</title>
<?php
session_start();
$user=$_SESSION['user'];
include '../PHP/db.php'; if(is_null($_POST['banji']))
{
$banji=$_GET['banji'];
}
else{
$banji=$_POST['banji'];
}
$number=(int) $banji[0]*100000; $number=$number+(int) $banji[1]*10000; $number=(int) $banji[5]*100+$number;
// echo $number; if($number==150100)
{
$string="15级1班";
}
if($number==150200)
{
$string="15级2班";
}
if($number==150600)
{
$string="15级6班";
}
if($number==150700)
{
$string="15级7班";
}
$numberber=$number+100;
/**
* 分页的函数
*/
function news($pageNum = 1, $pageSize = 5,$number)
{
$array = array();
$numberber=$number+100;
$coon = mysqli_connect("localhost", "root",'root','test');
// limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度
$rs = "select * from chengji where xuehao >=$number and xuehao <$numberber limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize;
$r = mysqli_query($coon, $rs);
while ($obj = mysqli_fetch_object($r)) {
$array[] = $obj;
}
mysqli_close($coon);
return $array;
} //显示总页数的函数
function allNews()
{
$coon = mysqli_connect("localhost", "root",'root','test');
$rs = "select count(*) num from chengji"; //可以显示出总页数
$r = mysqli_query($coon, $rs);
$obj = mysqli_fetch_object($r);
mysqli_close($coon);
return $obj->num;
}
//
$allNum = allNews();
$pageSize = 5; //约定没页显示几条信息
$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"];
$endPage = ceil($allNum/$pageSize); //总页数
$array = news($pageNum,$pageSize,$number);
?>
</head>
<body>
<header class="navbar-wrapper">
<div class="navbar navbar-fixed-top">
<div class="container-fluid cl">
<a class="logo navbar-logo f-l mr-10 hidden-xs" href="/aboutHui.shtml">成绩处理界面</a>
<nav class="nav navbar-nav">
<ul class="cl">
<li class="dropDown dropDown_hover">
<a href="javascript:;" class="dropDown_A">
   你开心,我也开心108)PHP分页显示的更多相关文章
- C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手> 以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~ ------------------------- ...
- 多页的TIFF图片在aspx页面分页显示
一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...
- asp.net gridview 分页显示不出来的问题
使用gridview分页显示,在点击第二页的时候显示空白,无数据. 原因是页面刷新,绑定datatable未执行 解决方法: 1.将datatable设置为静态 2.在OnPageIndexChang ...
- SSRS(rdl报表)分页显示表头和对表头的冻结处理
基础环境 最近在公司做西门子某系统的二次开发,需要用到SQLServer Reporting Services(SSRS).我们用的SQL版本是SQLServer 2008 R2:在设计报表时,表格用 ...
- JSP分页显示实例(基于Bootstrap)
首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...
- scroll事件实现监控滚动条并分页显示示例(zepto.js)
scroll事件实现监控滚动条并分页显示示例(zepto.js ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页 ...
- 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
/// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...
- php中关于 left join 的分页显示
/* * 统计商机搜索总条数信息 * ftt * 2015-11-10 10:13:15 */ public function getBusinessCount($btype='',$buname=' ...
- 《ASP.NET1200例》<asp:DataList>分页显示图片
aspx页面代码 <asp:DataList ID="dlPhoto" runat="server" Height="137px" W ...
随机推荐
- MyBatis:分页的实现
日志工厂 思考:我们在测试SQL的时候,要是能够在控制台输出 SQL 的话,是不是就能够有更快的排错效率? 如果一个 数据库相关的操作出现了问题,我们可以根据输出的SQL语句快速排查问题. 对于以往的 ...
- js事件函数中function(e){}
简单来说就是指向了当前发生的事件(click.mouseover等等),保存了当前事件的信息.如鼠标点击事件,有鼠标的坐标信息.其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置 ...
- Python csv文件操作
一.open文件打开和with open as 文件打开的区别 file= open("test.txt","r") try: for line in file ...
- find_element_by_xpath()的6种方法
Xpath (XML Path Language),是W3C定义的用来在XML文档中选择节点的语言 一:从根目录/开始 有点像Linux的文件查看,/代表根目录,一级一级的查找,直接子节点,相当于cs ...
- java中执行javascript案例
Nashorn js engine官方文档 https://docs.oracle.com/javase/7/docs/technotes/guides/scripting/programmer_gu ...
- spark与Scala版本对应问题
在阅读一些博客和资料中,发现安装spark与Scala是要严格遵守两者的版本对应关系,如果版本不对应会在之后的使用中出现许多问题. 在安装时,我们可以在spark的官网中查到对应的Scala版本号,如 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:Date(日期) 对象
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Codeforces Round #622 (Div. 2)C2 Skyscrapers最大"尖"性矩形,思维||分治
题:https://codeforces.com/contest/1313/problem/C2 题意:给出n个数,分别代表第i个位置所能搭建的最大高度,问以哪一个位置的塔的高度为基准向左的每一个塔都 ...
- PCB布局注意事项
PCB布局注意事项 1.实现统一功能电路模块中的元件应采用就近集中原则,同时数字电路和模拟电路分开; 2.定位孔.标准孔等非安装孔周围1.27mm 内不得贴装元.器件,螺钉等安装孔周围3.5mm( ...
- Python笔记_第一篇_面向过程_第一部分_4.格式化输入和输出
开始Python编程首先要学习两类最常用(经常出现和使用)输入和输出.学习编程最重要的状态就是“人机交互”,所以这两类函数显得尤其重要. 第一部分 格式化输入 1.1 函:input 语:inpu ...