标签:10 毕设 分页 pageSize db mysqli php select row
php-分页
分析
通过limit语句取出当前页面的数据
页码 | SQL语句 |
---|---|
1 | select * from db limit 0,10 |
2 | select * from db limit 10,10 |
3 | select * from db limit 20,10 |
一页放10条记录(\(pageSize),起始位置(\)startNm)和页码($pageNm)关系为
\(startNm = (\)pageNm - 1) * $pageSize
编写
1.总记录数
SQL语句获得总记录数
select count(*) from db
php代码
$rs = mysqli_query($link,'select count(*) from db');
$row = mysqli_fetch_row($rs); //mysqli_fetch_row从结果集中取得一行,并作为枚举数组返回 将资源匹配成索引数组
$recordCount = $rows[0]; //总记录数
2.求总页数
$pageSize = 10;//定义一页显示10条数据
$pageCount = ceil($recordCount/$pageSize);
获得传递的当前页码
$pageNum = isset($_GET['pageNum'])?$_GET['pageNum']:1; //我代码中form的method="post",但这里用$_POST会报错
中间的2是echo出来的,用来测试是否出错,之后会注释掉。会是用输出的数据替换掉。
循环输出页码
<table>
<tr>
<td>
<?php
for($i = 1;$i <= $pageCount;$i++){
echo '<a href="#?pageNm='.$i.'">'.$i.'</a> ';
}
?>
</td>
</tr>
</table>
3.求起始位置
$starNum = ($pageNum - 1)*$pageSize;
4.获取当前页的内容
$paging_sql = "select * from test limit $starNum,$pageSize";
$paging_rs = mysqli_query($link,$paging_sql);
5.循环输出内容
while($row = mysqli_fetch_array($paging_rs)){
$i++;
echo "<tr>";
echo "<td>$i</td>
<td>$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
<td>
<input type='submit' name='updateNews$row[0]' value='编辑' class='layui-btn layui-btn-normal layui-btn-xs'/>
<a class='layui-btn layui-btn-normal layui-btn-xs'><i class='layui-icon layui-icon-edit' name='updateNews[0]'></i>编辑</a>
<a class='layui-btn layui-btn-danger layui-btn-xs'><i class='layui-icon layui-icon-delete'></i>删除</a>
<input type='submit' name='deleteNews$row[0]' value='删除' class='layui-btn layui-btn-danger layui-btn-xs'/>
</td>";
echo "</tr>";
}
这个语句是写在table中的,循环输出列。
layui之类的class是因为使用了layui框架(https://www.layui.site/index.htm)
效果:
之后在完善分页a标签的样式
标签:10,毕设,分页,pageSize,db,mysqli,php,select,row 来源: https://www.cnblogs.com/nekoluv/p/15815179.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。