这是我的快速建站课程的答辩考试成果,一开始对这门课程并不太感兴趣,快速建站?光听名字不知道干什么,课听到一大半才知道,这门课是web前后端的集大成者,是对web前后端的综合应用,前期教会我们用php操作mysql数据库,包括插入,删除,更改,查询,后面教我们设计并制作简洁明了的后台和前台样式,用于向大家以更直观的方式来查看前台新闻,操作后台内容。我做的这个项目在课程答辩的时候更是获得了老师的高度赞赏,但要让我完善一下后台列表页,做出分页,我一想,这也不难,于是乎就有了下面的代码。下面这个文件我命名为list.php,只让其显示前10行。
<?php
include "conn.php";
$sql="select * from sdsw1 limit 1,10";
$result=mysqli_query($conn,$sql);
echo "<h3>新闻列表</h3><table cellPadding=0 cellSpacing=0 > <th>ID</th><th>新闻类别</th><th>新闻标题</th><th>新闻内容</th><th>发布时间</th><th>发布人</th><th>点击次数</th>";
while($row=mysqli_fetch_array($result)){
echo "<tr><td>".$row[0]."</td><td>"
.$row[1]."</td><td style='width:330px'>".$row[2]."</td><td style='width:250px;#eeeeee-space:nowrap;text-overflow:ellipsis;overflow:hidden;display: inline-block'>"
.$row[3]."</td><td>".$row[6]."</td><td>"
.$row[4]."</td><td>".$row[7]."</td>"
."</tr>";
}
echo "</table>";
?>
首先引入配置文件,从第一行查询十行,while循环输出
<div style="position:absolute;top:500;left:400px" id="fy">
<a href='limitlist.php?num=11' style="text-style:none;color:black">
<div class="fy" style=";width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">2</div></a>
<a href='limitlist.php?num=21' style="text-style:none;color:black">
<div class="fy" style="width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">3</div></a>
<a href='limitlist.php?num=31' style="text-style:none;color:black">
<div class="fy" style="width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">4</div></a></div>
然后用div做出页码按钮,因为第一页查询1-10行,那第二页便为11-20行,于是给页码2?链接limitlist.php传值11,以此类推,给页码3传值21,给页码4传值31。
<?php
$num=$_GET['num'];
include "conn.php";
$sql="select * from sdsw1 limit $num,10";
$result=mysqli_query($conn,$sql);
foreach ($result as $key=>$news) { } if(count($news[id])=='0'){ echo "<script>alert('该页为空!!!请浏览其他页!!!');</script>";};
$result=mysqli_query($conn,$sql);
echo "<h3>新闻列表</h3><table cellPadding=0 cellSpacing=0 > <th>ID</th><th>新闻类别</th><th>新闻标题</th><th>新闻内容</th><th>发布时间</th><th>发布人</th><th>点击次数</th>";
while($row=mysqli_fetch_array($result)){
echo "<tr><td>".$row[0]."</td><td>"
.$row[1]."</td><td style='width:330px'>".$row[2]."</td><td style='width:250px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display: inline-block'>"
.$row[3]."</td><td>".$row[6]."</td><td>"
.$row[4]."</td><td>".$row[7]."</td>"
."</tr>";
}
echo "</table>";
?>
<div style="position:absolute;top:500px;left:400px" id="fy">
<a href='list.php' style="text-style:none;color:black">
<div class="fy" style=";width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">1</div></a>
<a href='limitlist.php?num=11' style="text-style:none;color:black">
<div class="fy" style=";width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">2</div></a>
<a href='limitlist.php?num=21' style="text-style:none;color:black">
<div class="fy" style="width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">3</div></a>
<a href='limitlist.php?num=31' style="text-style:none;color:black">
<div class="fy" style="width:30px;height:30px;float:left;margin:30px;20px;text-align:center;line-height:30px">4</div></a></div>
然后在limitlist中获取页码传的值并将其为开始查询的第一行,再查询10行并输出,即可实现每页最多显示10行的效果,如果内容为空,我还利用遍历做了判断,如果查询到的内容的id值为空,就弹出内容为空的提示框。下面是页码样式
<style>
td{min-width:100px;max-height:100px;border:2px solid #1E90FF ;text-decoration:none;color:black;min-height:45px;text-align:center }h3,th{border-color:#1E90FF}
table{border:none;opacity:0.9;}tr{margin-bottom:10px;}a{}#fy {}.fy{background:white;transition:0.4s}
.fy:hover{background:#1E90FF;color:white}
</style>
|