Yii framework分页的一种方法

Yii framework分页的一种方法
Controller里的方法

public function actionList()
{
	$sql='select count(*) from {{table}}';
	$connection=Yii::app()->db;
	
	//获取总行数
	$count=$connection->createCommand($sql)->queryScalar();

	$criteria=new CDbCriteria;
	$pages=new CPagination($count);               
	$pages->pageSize=10;
	$pages->applylimit($criteria);
		
	$sql='select * from {{table}}';
	$List=$connection->createCommand($sql." LIMIT :Offset,:Limit")
			->bindValue(':Offset', $pages->currentPage*$pages->pageSize)
			->bindValue(':Limit', $pages->pageSize)
			->queryAll();
		
	$this->render('list',array(
			'List'=>$List,
			'pages'=>$pages,
			));
}

继续阅读“Yii framework分页的一种方法”

关于Yii framework的assets的认识

assets的作用是将模块的一些私有文件(如CSS,javascript,image等)发布到一个web能访问到的目录下,让用户可以通过url进行访问,又保持模块的整体的独立。

假设网站有模块admin
module,需要用到的资源放在modules/admin/assets中,为了能够访问,现在把私有资源publish到公共目录下
网站目录/assets。Yii
framework会自动在网站目录的/assets下创建一个随机不冲突的文件夹,并把modules/admin/assets目录下的文件拷贝过去。

具体实现修改protected\modules\admin\AdminModule.php文件
继续阅读“关于Yii framework的assets的认识”

[转]mysql sql优化指导30条

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0

3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
继续阅读“[转]mysql sql优化指导30条”