可跳转下方网址学习:
https://www.bilibili.com/video/BV1XJ411p7Bb?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click
通过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
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]; //总记录数
$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>
$starNum = ($pageNum - 1)*$pageSize;
$paging_sql = "select * from test limit $starNum,$pageSize"; $paging_rs = mysqli_query($link,$paging_sql);
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标签的样式