php分页例子实现读取mysql数据分页显示
以下代码是PHP分页案例,测试通过,主要是PHP+mysql实现分页,代码来处百度空间,有兴趣看的话可以了解一下PHP是如何分页的?
<?php
$link = mysql_connect("localhost","root", "2855") //连接数据库
or die("连接不上服务器:".mysql_error());
mysql_select_db("aming");
$ittype=$_GET['ittype'];
if($ittype==""){
echo "请输入查询条件";
exit;
}
$PageSize = 4;//每页显示记录数
$StartRow = 0; //开始显示记录的编号
//获取需要显示的页数,由用户提交
if(empty($_GET['PageNo'])){ //如果为空,则表示第1页
if($StartRow == 0){
$PageNo = $StartRow + 1; //设定为1
}
}else{
$PageNo = $_GET['PageNo']; //获得用户提交的页数
$StartRow = ($PageNo-1) * $PageSize; //获得开始显示的记录编号 $StartRow = ($PageNo - 1) * $PageSize;
} //因为显示页码的数量是动态变化的
//假如总共有一百页,则不可能同时显示100个链接
//而是根据当前的页数显示一定数量的页面链接
//设置显示页码的初始值
if($PageNo % $PageSize == 0){
$CounterStart = $PageNo - ($PageSize - 1);
}else{
$CounterStart = $PageNo - ($PageNo % $PageSize) + 1;
} //显示页码的最大值
$CounterEnd = $CounterStart + ($PageSize - 1);
?> <html>
<head>
<title>分页显示记录</title>
<link rel="stylesheet" href="include/style.css" type="text/css"></head>
<?php
/*$itname=$_POST['itname'];
if($itname ==""){
echo "请输入查询条件";
exit;
}*/ if($ittype)
$TRecord = mysql_query("select *from pc_it where ittype=$ittype");
$result = mysql_query("select *from pc_it where ittype=$ittype ORDER BY id DESC LIMIT $StartRow,$PageSize"); //获取总记录数
$RecordCount = mysql_num_rows($TRecord); //获取总页数
$MaxPage = $RecordCount % $PageSize;
if($RecordCount % $PageSize == 0){
$MaxPage = $RecordCount / $PageSize;
}else{
$MaxPage = ceil($RecordCount / $PageSize);
}
?>
<body class="UsePageBg">
<table width="100%" border="0" class="InternalHeader">
<tr>
<td width="24%"><font size=4>分页显示记录</font></td>
<td width="76%">
<font size=4>
<?php print "总共 $RecordCount 条记录 - 当前页: $PageNo of $MaxPage" ?>
</font>
</td>
</tr>
</table>
<br>
<table width="100%" border="0" class="NormalTableTwo">
<tr>
<td class="InternalHeader">型号</td>
<td class="InternalHeader" >参数</td>
<td class="InternalHeader" >价格</td>
</tr>
<?php
$i = 1;
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$bil = $i + ($PageNo-1)*$PageSize; // $bil = $i + ($PageNo-1)*$PageSize;
?>
<tr>
<td class="NormalFieldTwo" ><?php echo $row[1] ?></td>
<td class="NormalFieldTwo" ><?php echo $row[3] ?></td>
<td class="NormalFieldTwo" ><?php echo $row[4] ?></td>
</tr>
<?php
$i++;
}?>
</table><br><table width="100%" border="0" class="InternalHeader">
<tr>
<td> <div align="center">
<form action = search2.php method = GET >
<?php
echo "<font size=4>"; //显示第一页或者前一页的链接
//如果当前页不是第1页,则显示第一页和前一页的链接
if($PageNo != 1){
$PrevStart = $PageNo - 1;
print "<a href=search2.php?PageNo=1>首页 </a>: ";
print "<a href=search2.php?PageNo=$PrevStart&ittype=$ittype>上一页 </a>";
}
print " [ ";
$c=0;
//打印需要显示的页码
for($c=$CounterStart;$c<=$CounterEnd;$c++){
if($c < $MaxPage){
if($c == $PageNo){
if($c % $PageSize == 0){
print "$c ";
}else{
print "$c,";
}
}else
if($c % $PageSize == 0){
echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c</a> ";
//echo "<a href=search2.php?PageNo=$c&ittype=$ittype>$c</a> ";
}else{
echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c,</a> ";
//echo "<a href=search2.php?PageNo=$cittype=$ittype>$c</a> ,";
} //END IF
}else{
if($PageNo == $MaxPage){
print "$c ";
break;
}else{
echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c</a> ";
//echo "<a href=search2.php?PageNo==$c&ittype=$ittype>$c</a> ";
break;
}//END IF
}//END IF
}//NEXT
echo "] ";
if($PageNo < $MaxPage){ //如果当前页不是最后一页,则显示下一页链接
$NextPage = $PageNo + 1;
echo "<a href=search2.php?PageNo=$NextPage&ittype=$ittype>下一页</a>";
} //同时如果当前页补上最后一页,要显示最有一页的链接
if($PageNo < $MaxPage){
$LastRec = $RecordCount % $PageSize;
if($LastRec == 0){
$LastStartRecord = $RecordCount - $PageSize;
}
else{
$LastStartRecord = $RecordCount - $LastRec;
} print " : ";
echo "<a href=?PageNo=$MaxPage&ittype=$ittype>末页</a>";
} echo "<form action='search2.php' method='post'> ";
echo "转到第<input type=text name='PageNo' size='2' value=".$PageNo.">页";
echo "<input name=itname type=hidden value=".$ittype.">";
echo "<input type=submit name='Submit' value='Go'>";
echo "</form>";
echo "</font>"; ?>
</form>
</div>
</td>
</tr>
</table>
<?php
mysql_free_result($result);
mysql_free_result($TRecord);
?>
</body>
</html>
php分页例子实现读取mysql数据分页显示的更多相关文章
- Django读取Mysql数据并显示在前端
一.首先按添加网页的步骤添加网页,我的网页名为table.html, app名为web table.html放到相应目录下, froms文件提前写好 修改views.py ? 1 2 3 4 5 6 ...
- Javascript实例技巧精选(6)—滚动鼠标中键读取Json数据分页显示网页内容
>>点击这里下载完整html源码<< 截图如下: 滚动鼠标中键读取Json数据分页显示网页内容,关键的Javascript如下: <script type="t ...
- Spark使用Java读取mysql数据和保存数据到mysql
原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...
- 原生PHP实现Mysql数据分页功能
一. 思路整理 实现一个数据分页功能,需要有数据的总条数,每页展示的条数,和当前在第几页这三个参数 通过⌈总条数/每页展示的条数⌉可以得到总页数,比如某留言板有101条留言,每页展示10条,一那就需要 ...
- PHP MySQL数据分页
SQL SELECT语句查询总是可能导致数千条记录.但是在一个页面上显示所有结果并不是一个好主意.因此,我们可以根据要求将此结果划分为多个页面.分页意味着在多个页面中显示您的查询结果,而不是仅将它们全 ...
- 关于C#读取MySql数据时,返回DataTable中某字段数据是System.Array[]形式
我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工 ...
- Spark:读取mysql数据作为DataFrame
在日常工作中,有时候需要读取mysql的数据作为DataFrame数据源进行后期的Spark处理,Spark自带了一些方法供我们使用,读取mysql我们可以直接使用表的结构信息,而不需要自己再去定义每 ...
- R读取MySQL数据出现乱码,解决该问题的方法总结
最终的解决办法直接看 4 我的思路: 我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化. 1.我用的是RStudio,先去设置R的默认编码: Tools→Glob ...
- R语言读取MySQL数据表
1.R中安装RODBC包 install.packages("RODBC") 2.在Windows系统下安装MySQL的ODBC驱动 注意区分32位和64位版本: http://d ...
随机推荐
- unity视频播放,
PC端视频播放: Unity中实现PC端播放视频,非常easy用到MovieTexture属于贴图Texture的子类. 在播放视频之前.我们得记得下载quicktime插件,仅仅有导入了quickt ...
- Cocos2d-x Vector——vector iterators incompatible
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- WCF服务端的.NET Core支持项目Core WCF 正式启动
长期以来在wcf客户端库 https://github.com/dotnet/wcf 里反应最强烈的就是.NET Core的服务端支持 https://github.com/dotnet/wcf/is ...
- android自己定义开关控件
近日在android项目要使用开关控件.可是android中自带的开关控件不太惬意,所以就打算通过自己定义View写一个开关控件 ios的开关控件当然就是我要仿照的目标. 先上图: waterma ...
- DT的jquery
IE8浏览器,打开页面提示脚本错误,query不识别,缺少")"等等, 各种删除,最后只保留引用jquery文件还是不行,最后更好jquery为jQuery v1.12.4 版本, ...
- CSS 媒体类型 总结
CSS 媒体类型 媒体类型允许你指定文件将如何在不同媒体呈现.该文件可以以不同的方式显示在屏幕上,在纸张上,或听觉浏览器等等. 媒体类型 一些CSS属性只设计了某些媒体.例如"voice-f ...
- Sequelize入门一
最近刚开始接触Sequelize,当中遇到不少坑,所以想写篇Sequelize入门和大家分享,避免有道友和我一样爬坑. 学习sequelize的初衷是想解决SQL注入,它支持MySQL, SQLite ...
- BZOJ3260: 跳
BZOJ3260: 跳 Description 邪教喜欢在各种各样空间内跳.现在,邪教来到了一个二维平面. 在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点: (x-1, ...
- Spring Boot 整合 Listener
两种方法: 方法一: 使用注解 编写Listener,并使用@WebListener注解标记,在启动类使用注解:@ServletComponentScan package clc.user.liste ...
- 数据库连接池-配置 wallfilter
使用缺省配置的WallFilter <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSou ...