以下代码是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数据分页显示的更多相关文章

  1. Django读取Mysql数据并显示在前端

    一.首先按添加网页的步骤添加网页,我的网页名为table.html, app名为web table.html放到相应目录下, froms文件提前写好 修改views.py ? 1 2 3 4 5 6 ...

  2. Javascript实例技巧精选(6)—滚动鼠标中键读取Json数据分页显示网页内容

    >>点击这里下载完整html源码<< 截图如下: 滚动鼠标中键读取Json数据分页显示网页内容,关键的Javascript如下: <script type="t ...

  3. Spark使用Java读取mysql数据和保存数据到mysql

    原文引自:http://blog.csdn.net/fengzhimohan/article/details/78471952 项目应用需要利用Spark读取mysql数据进行数据分析,然后将分析结果 ...

  4. 原生PHP实现Mysql数据分页功能

    一. 思路整理 实现一个数据分页功能,需要有数据的总条数,每页展示的条数,和当前在第几页这三个参数 通过⌈总条数/每页展示的条数⌉可以得到总页数,比如某留言板有101条留言,每页展示10条,一那就需要 ...

  5. PHP MySQL数据分页

    SQL SELECT语句查询总是可能导致数千条记录.但是在一个页面上显示所有结果并不是一个好主意.因此,我们可以根据要求将此结果划分为多个页面.分页意味着在多个页面中显示您的查询结果,而不是仅将它们全 ...

  6. 关于C#读取MySql数据时,返回DataTable中某字段数据是System.Array[]形式

    我在使用C#(VS2008)读取MySql数据库(5.1版本)时,返回的DataTable数据中arrivalDate字段数据显示为System.Array[]形式(程序中没有对返回的数据进行任何加工 ...

  7. Spark:读取mysql数据作为DataFrame

    在日常工作中,有时候需要读取mysql的数据作为DataFrame数据源进行后期的Spark处理,Spark自带了一些方法供我们使用,读取mysql我们可以直接使用表的结构信息,而不需要自己再去定义每 ...

  8. R读取MySQL数据出现乱码,解决该问题的方法总结

    最终的解决办法直接看 4 我的思路: 我用的都是utf-8编码,电脑系统win7, MySQL-Front进行数据库的可视化. 1.我用的是RStudio,先去设置R的默认编码: Tools→Glob ...

  9. R语言读取MySQL数据表

    1.R中安装RODBC包 install.packages("RODBC") 2.在Windows系统下安装MySQL的ODBC驱动 注意区分32位和64位版本: http://d ...

随机推荐

  1. 使用$.when()解决AJAX异步难题之:多个ajax操作进行逻辑与(and)

    上一篇文章"JQuery.deferred提供的promise解决方式",提到了javascript异步操作的3个问题,以及javascript Promise入门.如今我们看下怎 ...

  2. wxpython中控件对键盘输入无响应的可能原因

    问题描述: 开发环境:Win7 32bit + Python2.7.6 + WxPython 3.0.1-b20140707 开发某初级CAD软件中,需要实现点击TreeCtrl控件的相应选择,实现G ...

  3. 设置GridCtrl中的Checkbox 为不可编辑

    m_Grid.SetCellType(index, 1, CGridCtrl::CellType_Check);   //设置第index行.第一列的单元格为类似CheckBox的模样    m_Gr ...

  4. php composer 相关及版本约束等小技巧

    对于现代语言而言,包管理器基本上是标配.Java有Maven,Python有pip,Ruby有gem,Nodejs有npm.PHP的则是PEAR,不过PEAR坑不少: 依赖处理容易出问题 配置非常复杂 ...

  5. JS/TS 的 import 和 export 用法小结

    ES6 export 和 export default的区别 昨天帮一个网友解决一个typescript的问题,看了一下,归根结底还是对js的import和export用法的不熟悉.让我想起来当年学这 ...

  6. codeforces 450C. Jzzhu and Chocolate 解题报告(449A)

    题目链接:http://codeforces.com/contest/450/problem/C 题目意思:给出一个 n * m 大小的chocolate bar,你需要在这个bar上切 k 刀,使得 ...

  7. 通过Toad工具查看dmp里面的表

    今天有同事要查看dmp里面的表是否有数据,虽然可以把单表数据通过exp导出查看,但还是稍显有点麻烦,要花时间. 无意中发现toad工具可以直接查看dmp里面的表数据. 第一步:Database--&g ...

  8. 自写程序调用mount

    代码: int fd = open("/dev/fuse", O_RDWR); printf("fd=%d\n",fd); int res; res=mount ...

  9. DP专辑之线性DP

    POJ1390 题目链接:http://poj.org/problem?id=1390 分类:记忆化搜索 dp[i][j][k] 表示,从i到j块且j后面有k块与第j块的颜色一样.dp[l][r][k ...

  10. zepto.js 总结

    zepto.js 中的注意事项 ,详见:http://www.cnblogs.com/samwu/archive/2013/06/06/3121649.html zepto被弃用的原因:详见:http ...