所有数据的调用
控制器部分
public function actionView(){
$connection = Yii::app()->db;
$data = $connection->createCommand('select * from tbl_admin ')->query();
$newData = array();
foreach($data as $val){
$newData[] = $val;
}
$this->render("view",array('data'=>$newData));
}
视图部分
<?php foreach($data as $val):?>
<h1><?php echo $val['id'].'=='.$val['username'].'=='.$val['password'] ; ?></h1>
<?php endforeach;?>
带分页的数据调用
控制器部分
$criteria = new CDbCriteria();
$count=TblAdmin::model()->count($criteria);
$pages=new CPagination($count);
$pages->pageSize=1; //页码
$pages->applyLimit($criteria); //limit 0,1 格式控制
$criteria->select='id,username,password'; //查询的字段
$models = TblAdmin::model()->findAll($criteria);
$this->render('view', array('models' => $models,'pages' => $pages));
视图部分
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php foreach($models as $val): ?>
<h1><?php echo $val['id'].'=='.$val['username'].'=='.$val['password'] ; ?></h1>
<?php endforeach; ?>
// 显示分页
<?php $this->widget('CLinkPager', array(
'pages' => $pages,
)) ?>
参数的获取
$username = Yii::app()->request->getParam('username','username2');
参数 username
默认值 username2
findAll的简单使用
$username = Yii::app()->request->getParam('username','username2');
$data = TblAdmin::model()->findAll('username=:username',array(':username'=>$username));
foreach($data as $val){
echo $val['username']."==".$val['password'];
}
通过主键获取信息
单个主键值
$data = TblAdmin::model()->findAllByPk(array(1));
foreach($data as $val){
echo $val['username']."==".$val['password']."<br />";
}
多个主键值$data = TblAdmin::model()->findAllByPk(array(1,3,5,7));foreach($data as $val){ echo $val['username']."==".$val['password']."<br />";}
findAllByAttributes函数的使用
使用第一个参数
$data = TblAdmin::model()->findAllByAttributes(array('username'=>'username1','password'=>'password1'));
foreach($data as $val){
echo $val['username']."==".$val['password']."<br />";
}
完整形式你
$data = TblAdmin::model()->findAllByAttributes(array('username'=>'username2'),'password=:password',array(':password'=>'password2'));
foreach($data as $val){
echo $val['username']."==".$val['password']."<br />";
}
findAllBySql的简单使用
$data = TblAdmin::model()->findAllBySql('select * from tbl_admin where username=:username',array(':username'=>'username3'));
foreach($data as $val){
echo $val['username']."==".$val['password']."<br />";
}
find的简单使用
根据一个条件查询出一组数据,可能是多个,但是他只返回第一行数据,如:
$data = TblAdmin::model()->find('username=:username',array(':username'=>'username1'));
$data = TblAdmin::model()->find(array('condition'=>'username=:username','params'=>array(':username'=>'username1')));
findByAttributes($attributes,$condition,$params);
该方法是根据条件查询一组数据,可以是多个条件,把条件放到数组里面,他查询的也是第一条数据
findBySql($sql,$params);
该方法是根据SQL语句查询一组数据,他查询的也是第一条数据
CDbCriteria类的简单使用
拼一个获得SQL的方法,在根据find查询出一个对象 $criteria = new CDbCriteria();$criteria->select='username,password';$criteria->condition='username=:username';$criteria->params=array(':username'=>'username3');$data = TblAdmin::model()->find($criteria);echo $data['username'].'==='.$data['password'];取得表中信息的总行数$count
= TblAdmin::model()->count();count($condition,$params);该方法是根据一个条件查询一个集合有多少条记录,返回一个int型数字,如 count("username=:name",array(":name"=>$username)); exists($condition,$params)该方法是根据一个条件查询查询得到的数组有没有数据,如果有数据返回一个true,否则没有找到$count
= TblAdmin::model()->exists('username=:username',array(':username'=>'username1'));echo (int)$count;
数据的添加
$admin = new TblAdmin(); //模型信息
$admin->username='username'.$i;
$admin->password='password'.$i;
if( $admin->save() > 0 ) {
echo "成功"."<br />";
}else{
echo "失败"."<br />";
}
修改信息
//条件修改
$count = TblAdmin::model()->updateAll(array('username'=>'username1111','password'=>'password111'),'username=:username AND password=:password',array(':username'=>'username1',':password'=>'password1'));
echo $count; //返回被修改信息的行数
//主键修改
$count = TblAdmin::model()->updateByPk(array(2),array('username'=>'username222','password'=>'password222'));
echo $count; //返回被修改信息的行数
updateCounters字段增量的修改
Post::model()->updateCounters($counters,$condition,$params);
$count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));
if($count>0){
echo "修改成功";
}else{
echo "修改失败";
}
array('status'=>1)代表数据库中的admin表根据条件username='admin',查询出的所有结果status字段都自加1
信息的删除
//条件查询
$count = TblAdmin::model()->deleteAll('username=:username',array(':username'=>'username3'));
echo $count; //删除的数量
$count = TblAdmin::model()->deleteByPk(array(1));
$count = TblAdmin::model()->deleteByPk(array(5,6,7));
echo $count; //删除的数量