1:比较简单,并没有涉及到诸如版主啦,副版主啦,只是一个简单的id和一个名称
2:不支持分级,即该模块下有子模块是不支持的,因为该类只有两个字段,其实还可以再加一个字段parent,表示其父版本,即parent的外键就是它的id
什么是外键???
学生表(学号,姓名,性别,班级)
其中每个学生的学号是唯一的,学号就是一个主键
课程表(课程编号,课程名,学分)
其中课程编号是唯一的,课程编号就是一个主键
成绩表(学号,课程号,成绩)
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键
**************思路分析*************
1:只要功能确定了,我们就可以动手写模板了,然后从数据库中取出数据,然后assign一下,再display一下,就可以了
2:这里功能比较简单,步骤就更加简单,因此我选择先做模板,如果工作量比较大,可能需要齐头并进,这时就体现出管理者的能力了
3:每次我们要想创建一个新的模板的时候,我们最先想到的就是在controller下面新建一个类,这里我们先新建一个BoardController.class.php
4:然后就是他的模板,我们在application的home下view下新建一个board文件夹
**********添加测试数据*************
1:由于我们的board中什么也没有,我们很多工作无法开展,于是我们可以写一个程序来批量导入数据。
2:在boardController类中写一个xinadd(),
public function xinadd(){
$m=M('board');
$data=array();
$data[]=array('name'=>'php');
$data[]=array('name'=>'python');
$data[]=array('name'=>'java');
$data[]=array('name'=>'c');
$data[]=array('name'=>'c++');
$data[]=array('name'=>'perl');
$data[]=array('name'=>'ruby');
$data[]=array('name'=>'html');
$m->addAll($data);
echo '导入完毕';
}
***********显示模块列表********
在BoardController 中添加一个index方法,
public function index(){
$m=M('board');
$msg=$m->where()->select();
$this->assign('board',$msg);
$this->display();
}
然后就是我们在视图里面的index.html
<h2>yanran简易的BBS</h2>
<h3>给您更多的选择</h3>
<table border=1>
<foreach name="board" item="vo">
<tr><td width=200> 第{$key}个: </td><td width=300><a href="__CONTROLLER__/detail/id/{$vo.id}">{$vo.name}</td></tr>
</foreach>
************单个模块的展示****************
1:下面我们就可以把精力投入到但各板块的展示上,我们接下来需要创建一个detail方法,而且他接受一个参数id
2:在做之前,我们先向post表中导入数据,
http://www.tuicool.com/articles/M7z6Bf
public function xinpost(){
/*
$m=M('post');
$data=array();
$data[]=array('board'=>1,'text'=>'yanran私人空间,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'你好,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'欢迎回访,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'谢谢你,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'亲,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'哦,欢迎来访','author'=>'hao');
$data[]=array('board'=>1,'text'=>'来啦,欢迎来访','author'=>'hao');
$m->addALL($data);
echo '导入完毕';
*/
}
3:接下来编写detail函数
public function detail($id){
$m=M('board');
//获取变量的整数值
$id=intval($id);
$board=$m->where("id=$id")->select();
$this->assign('board',$board[0]);
$n=M('post');
$post=$n->where("board=$id")->select();
$this->assign("post",$post);
$this->display();
}
4:detail.html
<h2>简易的BBS</h2>
<h3>{$board.name}<h3>
<table border=1>
<foreach name='post' item='vo'>
<tr>
<td>第{$key}贴</td>
<td><a href="#">{$vo.text}</a></td>
<td>楼主:{$vo.author}</td>
</tr>
</foreach>
</table>