写给PM及UI的PHP教程丨文章管理系统
【文章摘要】本节课程讲利用上一节的创建好的二维数组,通过foreach语句循环遍历该数组来实现选择栏目的部分。并学习如何让已发布文章的所属栏目处于被选定状态。
【系列推荐】
写给产品经理及UI设计师的PHP教程丨文章管理系统-创建栏目(1)
写给产品经理及UI的PHP教程丨文章管理系统-创建栏目(2)
写给PM及UI的PHP教程丨文章管理系统-后台界面框架设计
写给产品经理及UI的PHP教程丨文章管理系统-栏目列表
写给产品经理及UI的PHP教程丨文章管理系统-修改&删除栏目
给产品经理及UI的PHP教程丨文章管理系统-创建文章(关联数据)
给产品经理及UI的PHP教程丨文章管理系统-文章列表(二维数组)
我们先用已学到的知识来实现修改文章的功能。
打开article_edit.php代码改成如下:
打开article.php页面在include(‘article_edit.php’);下方增加如下代码:
代码分析:
基本上把创建文章和修改栏目两个功能结合了一下而已。
区别是在选择栏目那的while语句里面加了一个if条件语句。目的是输出如下格式的代码:
目的是为了让文章的所属栏目默认被选中。在option中selected=”selected”代表着被选定状态。
通过UPDATE指令修改文章的时候这里去掉了add_time属性,因为add_time是创建时间,当文章创建成功之后这个时间不应该变。
并且通过非常短的PHP代码,把标题,正文等的值输出到了对应的HTML元素中。比通过echo语句输出整段HTML来的阅读起来方便很多。
修改文章的功能做好了!哈哈!
这就结束了?当然不是!我单独写一篇文章肯定不能只是为了讲这点东西。
在上一节课程中我们创建了一个二维数组,把栏目数据保存在了$cat_array里。那在这里我们是否可以利用一下这个变量来实现选择栏目的部分呢?
答案是肯定的!有些同学可能想到了是否可以用while语句来输出循环呢?这是不可能的!(key是自增数字的情况下可以用while来实现,但key是自定义字符的时候就没法弄)
php专门为了关联数组提供了一种方法,那就是foreach。
foreach循环:
foreach循环只适用于数组,可以说是专门用来输出数组用的循环语句。
看个例子吧:
每进行一次循环迭代,当前数组($colors)元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。$value可以随便起名。
我们来把我们的栏目数据用这种格式输出试试吧。
首先把article_list.php页面中的如下代码剪切到article.php中的if条件语句上方:
这样我们就可以在article系列各个页面中调用$cat_array了。
打开article_add.php页面,把通过while循环输出的栏目部分改成用foreach输出,代码如下:
因为$cat_array是一个二维数组,所以他的每一个元素是一个数组。当把每一个元素赋值到了变量$value的时候,$value自然而然的就变成了一个数组。再通过$value[key]的形式输出了数组$value中对应的元素值。
这节课程讲完了!
留个作业:
1. 把foreach循环应用到category_edit.php页面完成修改文章功能,并结合if语句实现所属栏目被选定状态。
2. 通过已学到的知识完成删除文章的功能。
第二章学完之后大家想学习什么内容呢?来投个票吧!