it show all data in 1 page, but i want show 10 data per page
this is code in controller
public function actionReport()
{
$data=new Report;
if(isset($_GET['Report']))
{
$count=Yii::app()->db->createCommand("select count(*) from barang inner join harga on barang.id_barang = harga.id_barang where id_barang=$this->id_barang")->queryScalar();
$sql="select * from barang inner join harga on barang.id_barang = harga.id_barang where id_barang=$this->id_barang";
$cmd=Yii::app()->db->createCommand($sql);
$pages = new CPagination($count);
$pages->pageSize=120;
$models = $cmd->queryAll();
$pages->applyLimit($cmd);
$this->render('all_report', array(
'models' => $models,
'pages' => $pages
));
}
else
$this->render('allReport',array('model'=>$data));
}
$count=Yii::app()->db->createCommand("select count(*) from barang inner join harga on barang.id_barang = harga.id_barang where id_barang=$this->id_barang")->queryScalar();
$sql="select * from barang inner join harga on barang.id_barang = harga.id_barang where id_barang=$this->id_barang";
$dataProvider=new CSqlDataProvider($sql, array(
'totalItemCount'=>$count,
'pagination'=>array(
'pageSize'=>10,
),
));
$this->render('all_report', array(
'dataProvider' => $dataProvider,
));
In you all_report view you can use a CListView
$this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view', // refers to the partial view named '_view'
));
Try yourself with the help of my last wiki-article CGridView: complex datacolumns
Otherwise you can implement this manually by using the SqlDataProvider like above too.
your view
$models = $dataProvider->getData(); //load the current page records
foreach ($models as $i)
{
$i["id_barang"];
$i["nama barang"];
$i["jumlah"];
$i["stock"];
}
//use the pagination from the dataProvider
$this->widget('CLinkPager', array('pages' => $dataProvider->pagination,));