0068 PHP编程实现后台网页:新闻一览查询
上节课完成了开发一个新闻发布系统的相关的前期准备工作,完成了登录页面和后台主界面。
这节课就来完成新闻信息一览查询页面。
编写新闻一览查询网页
新闻一览查询网页,可以参照之前的学生分数信息一览查询页面进行开发。
数据来源暂时采用写好的假数据进行测试。
news_list.php代码如下:
image imagenews_list_do.php代码如下:
image image imagenews.css代码如下:
image 4-14-7.jpgnews.js代码如下:
image浏览器打开登录页面,输入正确账号和密码登录到后台主页面:
4-14-9.jpg点击主菜单“新闻信息”:
image可以看到网页进入之后,默认就查询出所有的数据了。
检索条件新闻标题和作者输入2个任意文字,点击查询按钮,可以看到页面刷新了,但数据没有变化,这是因为查询的逻辑暂时还没有实现,返回的还是假数据。
点击新增按钮和修改按钮,页面都会迁移到新的网页news_detail.php,由于目前还没编写好,所以点击之后会显示错误信息。
点击删除按钮,会弹出提示窗口:
4-14-11.jpg点击确定之后,页面会刷新,数据并没有变化。
增加翻页功能
根据前面的页面功能设计,当一览查询数据量比较大的时候,需要通过翻页功能来显示。
这里考虑方便起见,采用的翻页方式是查询出全部数据,然后页面记住当前显示的是第几页,然后循环遍历显示的时候,只显示当前页范围内的记录数据,其它数据忽略不显示。
这种方式从性能角度来说不是最佳方案,但用在对性能要求不高的一般场合足矣。
主要的方法是将查询的全部数据存在session当中,然后每次点击翻页的链接时,修改当前页的数值,然后遍历循环显示当中,根据当前页的数值,显示范围内的数据。
news_list.php代码修改如下:
image image 4-14-14.jpgnews_list_do.php代码如下:
image为了方便测试,假定每页显示2条记录。
news.css代码如下:
imagenews.js代码如下:
4-14-17.jpg打开一览页面:
image可以看到翻页区域显示了2个数字,代表总共有2页,其中页1是不能点击的,表示当前是第1页。
此时,点击数字链接2:
4-14-19.jpg可以看到当前页变成了数字2不能点击,并且显示的数据也是第2页的了。
为了测试更多页数据翻页情况,将假数据的总数变为25条,并需改为循环构造假数据,这样将显示总共13页。并且10页的翻页链接页会换行。
news_list_do.php代码如下:
image重新打开一览页面:
4-14-21.jpg可以看到显示了13页,并且页数也换行了。点击其中的第8页:
image可以看到显示了正确的页的数据。
编写SQL查询逻辑
接下来,参照之前编写学生分数信息查询的SQL实现方法,来实现根据新闻标题和作者查询相应的新闻信息记录。
news_list_do.php代码修改如下:
image重新打开一览页面:
4-14-24.jpg可以看到默认没有任何记录数据。这是因为数据库表当中还没有数据。
使用数据库客户端软件,手工往数据库当中增加2条记录如下:
image重新打开一览页面:
4-14-26.jpg可以看到数据被检索出来了。
在2个检索条件输入对应的值,点击查询按钮:
image可以看到满足条件的记录被查询出来了。
编写SQL删除逻辑
news_list_do.php代码修改如下:
4-14-28.jpg重新打开一览页面:
image点击第2条记录的右侧的删除链接,然后点击确定:
4-14-30.jpg可以看到数据被删除掉了。
去数据库里面手工查看一下,确认数据确定删除了。
将数据库操作代码分离到独立文件
考虑到将来的逻辑代码的共通行,可以将关于数据库的相关的操作函数全部分离到一个单独的文件中。
这样以后这些函数都可以复用了。
新建一个文件entity.php,将news_list_do.php的3个函数剪切过去:
entity.php代码如下:
image 4-14-32.jpgnews_list_do.php修改如下:
image image这样,如果后续需要修改SQL语句,则只需要修改entity.php文件即可。
下节课将继续这个软件项目,编写新建和编辑页面。