tandiyo
(Tandiyo)
March 9, 2011, 11:41am
1
Salam kenal buat rekan-rekan semua, saya pengguna baru Yii Framework.
Ketika saya mencoba membangun website menggunakan Yii Framework awalnya sangat mudah, karena banyak tutorial yang bisa saya pelajari. Ketika saya mulai membuat form dan mencoba menyimpan nilai dari checkboxlist dalam satu fild kedalam database tidak ada masalah, masalahnya muncul ketika akan menampilkannya kembali kedalalam form update.
misalnya saya mempunyai list tentang hobby seperti dibawah ini:
value | Hobby
1 | Berenang
2 | Photography
3 | Bersepeda
4 | Olahraga
Ketika di click tombol simpan maka di databases akan tersimpan nilai checkboxlist misalnya 2,3,4 pada kolom hobby,
ketika nilai itu saya panggil kembali untuk proses perbaikkan checkboklist tersebut tidak bisa terpilih sesuai apa yang ada pada kolom hobi yang berisi nilai 2,3,4.
Mungin rekan-rekan pernah mengalami kasus seperti ini, bagaimana ya solusinya?
junxiong
(Junxiong)
March 9, 2011, 1:03pm
2
Salam kenal buat rekan-rekan semua, saya pengguna baru Yii Framework.
Ketika saya mencoba membangun website menggunakan Yii Framework awalnya sangat mudah, karena banyak tutorial yang bisa saya pelajari. Ketika saya mulai membuat form dan mencoba menyimpan nilai dari checkboxlist dalam satu fild kedalam database tidak ada masalah, masalahnya muncul ketika akan menampilkannya kembali kedalalam form update.
misalnya saya mempunyai list tentang hobby seperti dibawah ini:
value | Hobby
1 | Berenang
2 | Photography
3 | Bersepeda
4 | Olahraga
Ketika di click tombol simpan maka di databases akan tersimpan nilai checkboxlist misalnya 2,3,4 pada kolom hobby,
ketika nilai itu saya panggil kembali untuk proses perbaikkan checkboklist tersebut tidak bisa terpilih sesuai apa yang ada pada kolom hobi yang berisi nilai 2,3,4.
Mungin rekan-rekan pernah mengalami kasus seperti ini, bagaimana ya solusinya?
ane belum pernah pakai tapi agan mgkin bisa coba tampilkan codingnya??
btw agan pakai activeCheckBoxList atau checkBoxList?
ibiz4
(Ibiz4)
March 10, 2011, 6:17am
3
Coba
View:
echo CHtml::checkBoxList('NamaModel[idhobby]', $this->idHobby2array($model->idhobby), CHtml::listData(Hobby::model()->findAll(),'value','hobby'))
UserController:
public function idHobby2array($id) // $id = 2,3,4
{
return preg_split('/\s*,\s*/',trim($id),-1,PREG_SPLIT_NO_EMPTY);
}
aqge
(Programmer Riau)
April 20, 2011, 6:42am
4
ibiz4:
Coba
View:
echo CHtml::checkBoxList('NamaModel[idhobby]', $this->idHobby2array($model->idhobby), CHtml::listData(Hobby::model()->findAll(),'value','hobby'))
UserController:
public function idHobby2array($id) // $id = 2,3,4
{
return preg_split('/\s*,\s*/',trim($id),-1,PREG_SPLIT_NO_EMPTY);
}
wah mantep nih agan ibiz4,
saya juga mau ngajukan solusi yang mirip dengan pakai array, tapi sepertinya yang ini lebih mantep…
Angela88
(Angela Arrie)
November 23, 2011, 8:07am
5
ibiz4:
Coba
View:
echo CHtml::checkBoxList('NamaModel[idhobby]', $this->idHobby2array($model->idhobby), CHtml::listData(Hobby::model()->findAll(),'value','hobby'))
UserController:
public function idHobby2array($id) // $id = 2,3,4
{
return preg_split('/\s*,\s*/',trim($id),-1,PREG_SPLIT_NO_EMPTY);
}
minta contoh koding lengkap dunk…
udah stuckk nie…
yg di action bag rendernya…
q coba error kalo ga checkboxnya ga ada yg ke-select…
hiks…
sakaw
(Sakaw 03)
November 24, 2011, 2:41am
7
liat caranya dong…sama cara nampilinnya lagi pas update
Angela88
(Angela Arrie)
November 24, 2011, 3:14am
8
form:
<div class="row">
<?php $data = CHtml::listData(Country::model()->findAll(array('condition'=>'status=1')), 'id_country', 'name');
// print_r($data);exit();
echo CHtml::checkBoxList('id_country', $country, $data); ?>
</div>
controller
public function actionUCountry2()
{
$id_content= $_GET['id'];
$country=$this->loadCountry($id_content);
$this->render('_formCountry2',array('country'=>$country));
}
public function loadCountry()
{
$id=$_GET['id'];
$model=ContentCountry::model()->findAllBySql('select * from content_country where id_content= '.$id);
if($model!==null) {
$criteria = new CDbCriteria();
$criteria->select = 'id_country';
$criteria->condition = 'id_content = ' . $id;
$catCons = ContentCountry::model()->findAll($criteria);
$ids = array();
foreach($catCons as $catCon) {
array_push($ids, $catCon->id_country);
}
//print_r($ids);exit();
$model['id_country'] = $ids;
//print_r($model['id_country']);exit();
}
return $model['id_country'];
}
waw ribet juga ya,kalau untuk masalah gambar gimana ya?klo ane mau update,ane harus masukin gambar dlu lagi pdahal sebelumnya udah di upload
terus ane ada autocomplete,dia nyimpen di db cuma integer,jadi pas di update yg tampil id daerah nya doang,ane dah coba kasih
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'model'=>$model,
'attribute'=>'regency_id',
'value'=>$model->regency->regency_name,
'id'=>'regency-id',
'name'=>'regency_id',
'source'=>$this->createUrl('LksaData/suggestRegency'),
'htmlOptions'=>array(
//'size'=>'40'
tpi kok masih sama aja ya?
junxiong
(Junxiong)
November 25, 2011, 2:46am
10
loper_kesasar:
waw ribet juga ya,kalau untuk masalah gambar gimana ya?klo ane mau update,ane harus masukin gambar dlu lagi pdahal sebelumnya udah di upload
terus ane ada autocomplete,dia nyimpen di db cuma integer,jadi pas di update yg tampil id daerah nya doang,ane dah coba kasih
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'model'=>$model,
'attribute'=>'regency_id',
'value'=>$model->regency->regency_name,
'id'=>'regency-id',
'name'=>'regency_id',
'source'=>$this->createUrl('LksaData/suggestRegency'),
'htmlOptions'=>array(
//'size'=>'40'
tpi kok masih sama aja ya?
Gak yakin sih… tapi mgkin saja gara2 agan taruh
'model'=>$model,
'attribute'=>'regency_id',
makanya dia prioritasin ambil id… kalau mau dia tampilkan name saya rasa musti dihilangin kali yah dua attribute itu
Klo diilangin g ngaruh ya pas mau create new data?kalau masalah photo yg mesti upload lg ad masukan g gan?
junxiong
(Junxiong)
November 25, 2011, 3:06am
12
ngaruh harusnya. Oleh karena itu kamu harus tambah attribute
'name'=>'NamaModel[regency_id]'
kalau upload mungkin thread sini bisa membantu:
http://www.yiiframework.com/forum/index.php?/topic/5419-optional-upload-file-when-update-a-record/page__p__27940#entry27940
dan disini ada comment wiki yang juga bahas
http://www.yiiframework.com/wiki/2/#c3137
semoga membantu~
Angela88
(Angela Arrie)
November 25, 2011, 11:21am
13
dapet dari facebook group yii framework indonesia
public function actionUpdate($id)
{
$model=$this->loadModel($id);
$oldname=$model->preview_filename;
if(isset($_POST['BannerPreview']))
{
$model->attributes=$_POST['BannerPreview'];
$model->preview_filename=CUploadedFile::getInstance($model,'preview_filename');
if($model->preview_filename==''):
$model->preview_filename=$oldname;
endif;
if($model->save())
if($model->preview_filename!=$oldname):
$model->preview_filename->saveAs(Yii::app()->basePath . '/../uploads/'.$model->preview_filename);
endif;
$this->redirect(array('view','id'=>$model->preview_id));
}
$this->render('update',array(
'model'=>$model,
));
}
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'LksaData[regency_id]',
'value'=>$model->regency->regency_name,
'id'=>'regency-id',
'name'=>'regency_id',
'source'=>$this->createUrl('LksaData/suggestRegency'),
'htmlOptions'=>array(
junxiong:
Gak yakin sih… tapi mgkin saja gara2 agan taruh
'model'=>$model,
'attribute'=>'regency_id',
makanya dia prioritasin ambil id… kalau mau dia tampilkan name saya rasa musti dihilangin kali yah dua attribute itu
sekarang di update bisa gan keluar daerahnya langsung,tapi klo create value nya kan masih kosong jadi get property non object ada masukan lagi?