思考
分页如何实现?
起始位置如何求得?
如何获取总页码?
代码如下
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
table{
width:900px;
margin:auto;
}
table,td,th{
border:solid 1px #000;
}
</style>
</head>
<body>
<!--库链接--->
<?php
$link=@mysqli_connect('localhost','root','root','jokeDB'); //链接数据库
if(mysqli_connect_error()){
echo '错误信息:'.mysqli_connect_error($link),'<br>'; //显示错误信息
echo '错误码:'.mysqli_connect_errno($link); //显示错误码
exit;
}
mysqli_set_charset($link,'utf8'); //设置字符编码
?>
<!--显示笑话的类别-->
<?php
$rs=mysqli_query($link,'select * from title');
?>
<table>
<tr>
<?php
$n=0;
while($rows=mysqli_fetch_assoc($rs)):
?>
<td><a href='?titleid=<?php echo $rows['Id']?>'><?php echo $rows['Title']?></a></td>
<?php
if(++$n==9)
echo '</tr><tr>';
endwhile;
?>
</tr>
</table>
<!--获取笑话内容-->
<?php
$titleid=$_GET['titleid']??1; //获取类别的id,默认是1
//第一步:获取总记录数
$sql="select count(*) from contents where title=$titleid";
$rs=mysqli_query($link,$sql);
$rows=mysqli_fetch_row($rs); //匹配成索引表数组
$recordcount=$rows[0]; //总记录数
//第二步:求的总页数
$pagesize=10; //页面大小
$pagecount=ceil($recordcount/$pagesize); //总页码
//第四步:获取当前页码
$pageno=$_GET['pageno']??1; //当前页码
//第五步:获取当前页的起始位置
$startno=($pageno-1)*$pagesize; //计算起始位置
//第六步:获取当前页的内容
$sql="select * from contents where title=$titleid limit $startno,$pagesize";
$rs=mysqli_query($link,$sql);
?>
<table>
<tr>
<th>编号</th>
<th>内容</th>
<th>作者</th>
</tr>
<?php while($rows=mysqli_fetch_assoc($rs)):?>
<tr>
<td><?php echo $rows['Id']?></td>
<td><?php echo $rows['Contents']?></td>
<td><?php echo $rows['Author']?></td>
</tr>
<?php endwhile;?>
</table>
<?php
//第三步:循环输出页码
for($i=1;$i<=$pagecount;$i++){
echo "<a href='?pageno={$i}&titleid={$titleid}'>{$i}</a> ";
}
?>
</body>
</html>