PS:在签约项目的基础上完成
Yii框架:Yii框架为一个MVC框架,面向对象。
参考网站:https://www.yiichina.com/doc/guide/1.1/quickstart.installation
增删改查步骤:
1.在数据库中建立一个新的表:
2.在main.php中更改数据库代码:
3.定义AR类
ActiveRecord(活动记录)提供了面向对象接口,用以访问数据库中的数据。一个AR类关联一张数据表,通过操作实例化的AR类模型达到处理数据的目的。
在protected——models目录下,建立一个类,继承自CActiveRecord。
4.写Controller
在controllers目录下新建一个名为test的文件夹,在其中建一个名为TestController的控制器,里面写对应增删改查的方法。
5.增删改查方法
在以上目录下,创建一个名为test的文件夹,里面写好展示页面以及增、改、查对应页面。
一、查看全部信息
在list.html中写如下代码:
<table border="1" align="center" style="margin-top: 180px;">
<thead> <tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th> <th>操作</th> </tr>
<tr>
</thead> <tbody> <{foreach from=$list item=test}>
<td><{$test.id}></td>
<td><{$test.name}></td> <td><{$test.sex}></td> <td><{$test.age}></td> <td>
<a href="<{$website}>/test/Test/getDeleteTest?id=<{$test.id}>">删除</a>
<a href="<{$website}>/test/Test/getTestById?id=<{$test.id}>">查看详情</a> <a href="<{$website}>/test/Test/toUpdateTest?id=<{$Test.id}>">修改</a>
<a href="<{$website}>/test/Test/toAddTest">添加</a>
</td> </tr> <{/foreach}> </tbody>
</table>
展示页面:
二、通过id查找信息
controller写法
public function actiongetXiaoranById(){
$id=$_GET['id'];
$test=Test::model()->find('id=:id',array(':id'=>$id));
$this->smarty->assign('test',$test);
$this->smarty->display('test/concrete_content.html');
}
HTML写法
<center>
<h1 style="margin-top: 80px"><{$news.title}></h1>
<table border="1" style="width: 1000px;margin-top: 10px;font-size:x-large">
<tr>
<td>人物</td>
<td><{$test.name}></td>
</tr>
<tr>
<td>内容</td>
<td><{$test.message}></td>
</tr>
</table>
</center>
展示页面
三、删除
controller
public function actionGetDelete()
{
$id=$_GET['id'];
$test=Test::model()->findByPk($id);
$test->delete();
$this->redirect(array(getTest));
}
四、增加
1.controller跳转到增加页面
public function actionToAdd(){
$this->smarty->display('test/add.html');
}
2.增加页面html
<form action="<{$website}>/test/xiaoran/add" method="post">
<table style="margin-top: 10px;font-size: x-large" >
<tr>
<td>姓名:</td>
<td><input type="text" name="name" style="width: 500px;height: 30px"></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" style="width: 500px;height: 30px"></td>
</tr>
<tr>
<td>详情:</td>
<td><textarea name="message" cols="30" rows="10" style="width: 500px;"></textarea></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="text" name="sex" style="width: 500px;height: 30px"></td>
</tr>
<tr content="center">
<td colspan="2" style="text-align: center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
3.增加的controller
public function actionAdd(){
$test=new Test();
$name=$_POST['name'];
$age=$_POST['age'];
$message=$_POST['message'];
$sex=$_POST['sex'];
$test->name=$name;
$test->age=$age;
$test->message=$message;
$test->sex=$sex;
$test->save();
$this->redirect(array(getXiaoran));
}
展示页面:
五、修改
controller跳到修改页面
public function actionToUpdate(){
$id=$_GET['id'];
$test=Test::model()->find('id=:id',array(':id'=>$id));
$this->smarty->assign('test',$test);
$this->smarty->display('test/update.html');
}
对应html页面:(注意做一个隐藏的input框存放id)
<form action="<{$website}>/test/xiaoran/getUpdate" method="post">
<input name="id" value="<{$test.id}>" hidden>
<table border="1" style="margin-top: 100px;margin-left: 100px">
<tr>
<td>姓名:</td>
<td><input type="text" name="name" style="width: 500px;height: 30px"></td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="text" name="age" style="width: 500px;height: 30px"></td>
</tr>
<tr>
<td>详情:</td>
<td><textarea name="message" cols="30" rows="10" style="width: 500px;"></textarea></td>
</tr>
<tr>
<td>性别:</td>
<td><input type="text" name="sex" style="width: 500px;height: 30px"></td>
</tr>
<tr content="center">
<td colspan="2" style="text-align: center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
修改controller:
public function actionGetUpdate(){
$id=$_POST['id'];
$test=Test::model()->find('id=:id',array(':id'=>$id));
$test->name=$_POST['name'];
$test->age=$_POST['age'];
$test->message=$_POST['message'];
$test->sex=$_POST['sex'];
$test->save(); // 将更改保存到数据库
$this->redirect(array(getXiaoran));
}
展示页面:
六、模糊查询
controller:
public function actionSer(){
$par = $_POST['ser'];
echo $par;
$criteria = new CDbCriteria;
$sql = "select *
from t_test
where name like '%" . $par . "%'
";
$selectList = Yii::app()->db->createCommand($sql)->queryAll();
$this->smarty->assign('list',$selectList);
$this->smarty->display('test/search.html');
}
新增search页面:
<table border="1" align="center" style="margin-top: 180px;">
<thead> <tr>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>年龄</th> <th>操作</th> </tr>
<tr>
</thead> <tbody> <{foreach from=$list item=test}>
<td><{$test.id}></td>
<td><{$test.name}></td> <td><{$test.sex}></td> <td><{$test.age}></td> <td>
<a href="<{$website}>/test/XiaoRan/getDelete?id=<{$test.id}>">删除</a>
<a href="<{$website}>/test/XiaoRan/getXiaoranById?id=<{$test.id}>">查看详情</a> <a href="<{$website}>/test/XiaoRan/toUpdate?id=<{$test.id}>">修改</a>
<a href="<{$website}>/test/XiaoRan/toAdd">添加</a>
</td> </tr> <{/foreach}> </tbody>
</table>
注意还要在list主页中加两个框,对应search