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