url访问地址:localhost/bb/index.php?r=Appear/list
models下的文件
他们的名称都与表名相同
appear.php 这是发表文章表
Reply.php 这是回复文章表
appear.php文件里的内容 如下
class appear extends CActiveRecord{
public function rules(){//规则
return array(//返回数组
array('username,title,des,dataline','required')//表的字段 'required'为字段后必须添加的
);
}
}
Reply.php文件里的内容 如下
class Reply extends CActiveRecord{
public function rules(){
return array(
array('tid,username,des,dataline','required'),//表的字段 'required'为字段后必须添加的
);
}
}
controllers文件夹下的文件
文件名为AppearController.php
class AppearController extends CController{
public function actionList(){
$appear = new appear();//实例化表
/*分页开始*/
$criteria=new CDbCriteria();
$criteria->order=' id desc';//根据id倒序
$count=$appear->count($criteria);//查询总条数
$pager=new CPagination("$count");
$pager->pageSize=3;//每页显示3条
$pager->applyLimit($criteria);
$list = $appear->findAll($criteria);//查询数据 如果没有分页则findAll里不用传参数
//分页结束
$this->render('list',array('listinfo'=>$list,'pages'=>$pager ));//引入文件list 后面的array是传递参数
}
}
views文件夹下的文件
如果aacontroller下的方法引用页面,那么views下必须要有aa文件夹
文件名为list.php
自己做了一个小页面。样式不是很好看。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>留言板列表</title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<table style="border:solid 1px #333">
<tr>
<td>标题</td>
<td>内容</td>
<td>姓名</td>
<td>时间</td>
<td>操作</td>
</tr>
<?php foreach($listinfo as $v){?>//后台传过来的数组,进行循环
<tr>
<td style="border:solid 1px #333"><?php echo $v['title']?></td>
<td style="border:solid 1px #333"><?php echo $v['des']?></td>
<td style="border:solid 1px #333"><?php echo $v['username']?></td>
<td style="border:solid 1px #333"><?php echo date('Y-m-d H:i:s',$v['dataline'])?></td>
<td style="border:solid 1px #333"><a href="index.php?r=Appear/add">添加</a> <a href="index.php?r=Appear/add&id=<?php echo $v['id']?>">编辑</a> <a href="javascript:void(0);" οnclick="del('<?php echo $v['id']?>')">删除</a>
<a href="index.php?r=Appear/detail&id=<?php echo $v['id']?>">查看</a></td>
</tr>
<?php }?>
</table>
//分页开始
<div class="change_page">
<?php
$this->widget('CLinkPager',array(
'header'=>'',
'firstPageLabel'=>'<span style="font-weight:normal;color:#000;">首页</span>',
'lastPageLabel'=>'<span style="font-weight:normal;color:#000;">末页</span>',
'prevPageLabel'=>'<span style="width:23px;height:18px; margin-top:-1px; border:1px solid #008c78;" class="left_page no_padding">上一页</span>',
'nextPageLabel'=>'<span style="width:23px;height:18px; margin-top:-1px; border:1px solid #008c78;" class="right_page">下一页</span>',
'pages'=>$pages,//是从后台传过来的值
'maxButtonCount'=>13,
)
);
?>
</div>
//分页结束
</body>
<script src="js/jquery.js"></script>
<script>
function del(id){
if(confirm("是否将此留言信息删除?")){
$.ajax({
type:'post',
data:'id='+id,
url:'index.php?r=Appear/del',
success:function(data){
if(data == 1){
window.location.href='http://localhost/qjk_yii/index.php?r=Appear/list';
}else{
alert('2');
}
}
});
}
}
</script>
</html>