May 212013
 

CRUD (Create Read Update Delete) with CodeIgniter

Assalamu’ alaikum wr wb

Untuk Sekedar pemanasan mari kita buat aplikasi CRUD di CI. Untuk lebih lengkapnya silakan download script source di bawah ini :

Download

Wassalamu’ alaikum wr wb

Jul 162012
 

Composite Primary Key di yii

Assalamu’ alaikum wr wb

Pengertian dari Composite Primary Key adalah adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.

Untuk membuat crud dalam Yii secara default yii mengharuskan ada satu primary key, kalo ada 2 atau lebih key maka gii yang ada pada yii akan menolak.

Trus bagaimana caranya, Berikut adalah langkah – langkahnya.

edit controller, di sini saya punya table dengan nama tbl_dokter_obat dengan primary key ada pada [d_code, o_code].

    public function actionView($id, $id2) {
        $this->render('view', array(
            'model' => $this->loadModel($id, $id2),
        ));
    }
    public function actionUpdate($id,$id2) {
        $model = $this->loadModel(  $id,$id2 );

        // Uncomment the following line if AJAX validation is needed
        // $this->performAjaxValidation($model);

        if (isset($_POST['DokterObat'])) {
            $model->attributes = $_POST['DokterObat'];
            if ($model->save())
                $this->redirect(array('view', 'id' => $model->d_code ,'id2'=>$model->o_code));
        }

        $this->render('update', array(
            'model' => $model,
        ));
    }
    public function actionDelete($id,$id2) {
        if (Yii::app()->request->isPostRequest) {
            // we only allow deletion via POST request
            $this->loadModel($id,$id2)->delete();

            // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
            if (!isset($_GET['ajax']))
                $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
        }
        else
            throw new CHttpException(400, 'Invalid request. Please do not repeat this request again.');
    }
    public function loadModel($id,$id2) {
        $model = DokterObat::model()->findByPk(array('d_code'=>$id,'o_code'=>$id2));
        if ($model === null)
            throw new CHttpException(404, 'The requested page does not exist.');
        return $model;
    }

Kode diatas di gunakan untuk CRUD
Setelah itu ubah juga pada tombol link yang ada pada view admin.

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'dokter-obat-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		'dokter.o_name',
		'obat.o_name',
		'do_value',
		'user_entry',
		'date_entry',
		array(
			'class'=>'CButtonColumn',
			'template'=>'{view}{update}{delete}',
			'buttons'=>array
			(
				'view' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/view", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
				'update' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/update", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
				'delete' => array
				(
					'url'=>'Yii::app()->createUrl("dokterobat/delete", array("id"=>$data->d_code,"id2"=>$data->o_code))',
				),
			),
		),
	),
)); ?>

Kode di atas di gunakan untuk mengubah parameter pada tombol yang ada pada grid.
Oke selamat mencoba.

Wassalamu’ alaikum wr wb

Aug 302011
 

Assalamu’ alaikum wr wb

CRUD ExtJs 4 With CodeIgniter

ExtJS

ExtJS

Selamat Berpuasa bagi yang masih berpuasa dan Mohon maaf lahir batin buat teman – teman yang sudah merayakan Idul Fitri. Untuk menepati beberapa janji saya kepada teman – teman, yang menginginkan tutorial dan controh scrip CRUD dengan ExtJS maka akan saya bagikan sedikit tutorial tentang CRUD pada ExtJS.4 dengan menggunakan framework CodeIgniter 1.7.2.

Langsung pada permasalahan, tutorial ini masih berhubungan dengan tutorial saya yang kemaren, yang membahas tentang tree ExtJs karena databasenya masih menggunakan yang ada. yaitu treemenu.

Create table :

CREATE TABLE tbl_menu (
MN_ID int(11) NOT NULL AUTO_INCREMENT,
MN_NAME varchar(30) DEFAULT NULL,
MN_LINK varchar(50) DEFAULT NULL,
MN_PARENT int(11) DEFAULT NULL,
MN_GRP int(11) DEFAULT NULL,
MN_SORT int(11) DEFAULT NULL,
MN_STATUS int(11) DEFAULT NULL,
MN_ICON varchar(50) DEFAULT NULL,
MN_TYPE int(11) DEFAULT NULL,
PRIMARY KEY (MN_ID)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=latin1

Continue reading »