欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

简单的博客和分类关联代码(20140509更新)

程序员文章站 2022-05-22 17:15:52
...
关联代码,包括修改,分页,获取,增加,删除,修改,由于我是新手,写的不是很好,求高手指点修正:)
控制器代码(是Action里的 IndexAction.class.php): class IndexAction extends Action {
//实例化博客,还有关联分类在Model里
public function index(){
//实例公共模型类
$Blog=D('Blog');
//调用分页类
import('ORG.Util.Page');
//统计分页
$count = $Blog->count();
//创建分页数
$Page = new Page($count,5);
//分页输出
$show = $Page->show();
//赋值给关联查询,并且倒序输出
$list=$Blog->relation(true)->order('id DESC')->limit($Page->firstRow.','.$Page->listRows)->select();
//赋值给列表标签
$this->assign('list',$list);
//赋值给分页标签
$this->assign('page',$show);
//创建视图
$this->display();
}

//删除博客
public function del(){
// 在模版里修改地址是 __APP__/你的文件(INDEX或者ADMIN)/del/id/{$x.id}
//视图$_GET提交ID
$id =$_GET['id'];
//其中ID传值,如果不写$where,而是$id 会把整个数据
$where = array('id' => $id);
//判断博客删除
if (M('Blog')->where($id)->delete()) {
$this->success('删除成功');
} else {
$this->error('删除失败');
}

}

//增加博客
Public function add () {
//显示修改数据
$this->cate =$cate = M('cate')->select();
//组装主表数据
$id = $_POST['id'];
$cid = $_POST['cid'];
//tutle博客标题 content博客内容 cid 父级分类关联 cate
$data = array(
'title' => $_POST['title'],
'content' => $_POST['content'],
'cid' => $cid,
);
//增加新数据
if ($bid = M('blog')->add($data)) {
if (isset($_POST['cid'])) {
$this->success('添加成功','index');
} else {
$this->error('添加失败');
}
}
//创建增加视图
$this->display();
}

//修改
Public function mod () {
// 在模版里修改地址是 __APP__/你的文件(INDEX或者ADMIN)/mod/id/{$x.id}
$id=$_GET['id'];
if(!empty($id)){
//获取博客文章标题和内容
$art=M('Blog');
$date=$art->getById($id);
//赋值给博客标签datas
$this->assign('datas',$date);
//获取分类
$cat=M('cate');
$list=$cat->select();
//复制给分类标签clist
$this->assign('clist',$list);
}
//创建修改模版视图
$this->display();
}

//修改提交处理
public function update(){
//create方法
$Form= M('blog');
if($Form->create()) {
$result = $Form->save();
if($result) {
//如果修改成功,跳转到首页
$this->success('操作成功!','index');
}else{
//否则修改错误
$this->error('写入错误!');
}
//否则系统异常错误
}else{
$this->error($Form->getError());
}
}
}
模型代码(是Model里的 ,文件名BlogModel.class.php): class BlogModel extends RelationModel{
protected $_link = array(

'Cate'=>array(
'mapping_type'=> BELONGS_TO,
'class_name'=>'Cate',
'mapping_name'=>'Cate',
'foreign_key'=>'cid',
//只获取关联里name内容
'mapping_fields'=>'name',
//把关联的name拿到父级上
'as_fields'=>'name',
//'as_fields' =>'id:uid,title,name',

),

);}

?>

AD:真正免费,域名+虚机+企业邮箱=0元