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 ...
随机推荐
- 在线上Linux下,PHP扩展安装(使用yum安装)
直接操作linux,在命令模式下用yum 来安装PHP的扩展: 扩展:mbstring 命令: yum install php-mbstring* 扩展:GD库 命令:yum install php- ...
- vue-cli3.x 搭建项目目
安装文档 https://cli.vuejs.org/zh/guide/ 安装条件 npm 更至最新 node >=8.9 可以用npm -v 查看npm的版本号 1.关于旧版本 Vue CLI ...
- 编写软件动态加载NT式驱动
NT式设备驱动程序的动态加载主要是由服务控制管理程序(Service Control Manager,即SCM)系统组件来完成的. Windwos服务可以在系统启动时加载,用户也可以按需在服务控制平台 ...
- Vue iview 表单封装验证
以下内容转自iview社区,仅供自己查看使用 Form表单部分 <div> <Form ref="FormOne" :model="FormOne&qu ...
- 流程控制语句反汇编(1)(Debug版)
// 流程控制语句反汇编 //Author:乾卦 Date:2014-5-8 #include<stdio.h> int main() { ,b=; if(a>b) { a=b; } ...
- nodejs(10)express路由
后端路由 前端请求的URL地址,都要对应一个后端的处理函数,那么 这种URL地址到 处理函数之间的对应关系,就叫做后端路由: 在Express中,路由的主要职责 就是 把客户端的请求,分发到对应的处理 ...
- java链接redis服务器
1.首先你需要下载驱动包jedis.jar确保下载最新驱动包. 2.public class RedisUtil { //服务器IP地址 private static String ADDR = &q ...
- JavaScript—面向对象小例子
什么是面向对象 要是以前别人问我.随口道来,封装继承多态,万物皆对象...一大推.说的自己都以为自己掌握了面向对象.呵呵一笑.确实掌握了 只是不会用..... 什么是面向对象编程 以前 学.Net 虽 ...
- 用一行Python进行数据收集探索
简易的Pandas之路 任何使用Python数据的人都会熟悉Pandas包.Pandas是大多数行和列格式数据的go-to包.如果你没有Pandas,请确保在终端中使用pip install安装: p ...
- 17.3.10--C语言运行的步骤
编译-->生成-->调试-->链接-->运行 编译就是:将你编写的C语言程序翻译成机器能识别运行的指令集 生成就是:根据编译完成的指令集制造出机器可以具体执行的指令序列 调试就 ...