Skip to main content

[ask] bikin simple aplikasi (edit data)

July 2, 2009 by gedoyman

gedoyman's picture

Halo All.... Saya Pendatang baru di codeigniter, Saya lagi belajar bikin aplikasi untuk insert, update, delete. Tapi kepentok pas mau edit data.. tolong bantuannya....

Databasenya :
-- phpMyAdmin SQL Dump
-- version 2.6.1-pl3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jul 03, 2009 at 07:20 AM
-- Server version: 4.1.11
-- PHP Version: 5.0.4
--
-- Database: `tes`
--

-- --------------------------------------------------------

--
-- Table structure for table `biodatas`
--

CREATE TABLE `biodatas` (
`id` int(5) NOT NULL auto_increment,
`nama` varchar(50) collate latin1_general_ci NOT NULL default '',
`alamat` text collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;

--
-- Dumping data for table `biodatas`
--

INSERT INTO `biodatas` VALUES (1, 'nmbmnbm', 'hkjhkjhjk');

model : mtes.php
<?
class MTes extends Model{
function MTes(){
parent::Model();
}

function TampilData($namaTable){
$query = $this->db->get($namaTable);
return $query;
}

function TampilDataWhere($namaTable, $namaWhere){
$this->db->where('id', $namaWhere);
$query = $this->db->get($namaTable);
return $query;
}

function Edit($namaTable, $namaWhere, $fields){

$this->db->where('id', $namaWhere);
$this->db->update('mytable', $fields);
}
}
?>

controller : tes.php
<?
class Tes extends Controller{
function Tes(){
parent::Controller();
$this->load->helper('url');
$this->load->helper('form');
}

function index(){

$this->load->model('MTes');

$data['hasil'] = $this->MTes->TampilData('biodatas');
$this->load->view('v_tampil', $data);
}

function edit(){
$this->load->model('MTes');
$data['hasil'] = $this->MTes->TampilDataWhere('biodatas', $this->uri->segment(3));
$this->load->view('v_edit', $data);
}

function proc_edit(){
$this->load->model('MTes');
$array = array(
'nama' => $_POST[txt_nama],
'alamat' => $_POST[txt_alamat]
);
$this->MTes->Edit('biodatas', $this->uri->segment(3), $array);
redirect('tes/index/');
}
}
?>

views: v_tampil.php

New Document

<? foreach($hasil->result() as $row): ?>

<?=$row->id?>
<?=$row->nama?>
<?=$row->alamat?>
<?=anchor('tes/edit/'.$row->id, 'Edit')?>
<?=anchor('tes/delete/'.$row->id, 'Delete')?>

<? endforeach; ?>

views : v_edit.php

New Document

uri->segment(3)?>">
<? foreach($hasil->result() as $row): ?>

Makasih seelumnya

Nama
nama?>"/>

Alamat
<?=$row->alamat?>

 

<? endforeach; ?>

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

--

August 5, 2009 by eien, 2 years 7 weeks ago
Comment: 5606

eien's picture

untuk codeigniter, ada baiknya untuk add/edit menggunakan library Form Validation sekaligus, supaya lebih baik, sekaligus menghemat controller, jadi untuk proses dan menampilakn form-nya cukup di 1 controller, kodenya sebagai berikut :

controller : tes.php
NB : ganti controller edit saja dengan kode di bawah ini

function edit(){
		$id=$this->uri->segment(3);
		$this->load->database();
		$this->load->model('MTes');
		$this->load->library('form_validation');
 
                //cuma contoh validasi aja, untuk lengkapnya bisa baca di user guide codeigniter
		$this->form_validation->set_rules('txt_nama', 'Nama', 'required'); 
		$this->form_validation->set_rules('txt_alamat', 'Alamat', 'max_length[255]');
 
                //jika gagal validasi, atau load form pertama kali
		if ($this->form_validation->run() == FALSE ){
			if(empty($id)) $id=$this->input->post('id');
			$data['hasil'] = $this->MTes->TampilDataWhere('biodatas', $id);	
			$data['id']=$id;
			$this->load->view('v_edit', $data);
		}
                //jika telah lewat validasi
		else{
			$id=$this->input->post('id');
 
			$data = array( 
				'nama' => $this->input->post('txt_nama'),
				'alamat' => $this->input->post('txt_alamat')
			);
			$this->db->where('id', $id);
			$this->db->update('biodatas', $data); 
 
			redirect('tes/index/');
		}
	}

di view v_edit.php :

			$fetch=$hasil->row();
			echo validation_errors(); //tampilkan error
 
			echo form_open_multipart('tes/edit', '').
					  form_hidden('id',$id).
					  form_label('Nama', 'txt_nama').
					  form_input('txt_nama',$fetch->nama).
					  form_label('Alamat', 'txt_alamat').
					  form_input('txt-alamat',$fetch->alamat).
				          form_submit('submit', 'Submit');

solusi????

August 5, 2009 by cah_ajus, 2 years 7 weeks ago
Comment: 5605

cah_ajus's picture

udh ktmu lum solusinya..,???
saia jg pendatang baru CI ne..,mo bkin add,edit delete jg..,!!tp ngk isa2x editnya...,hehehhee

makasih bos :D

August 11, 2009 by gedoyman, 2 years 6 weeks ago
Comment: 5622

gedoyman's picture

makasih bos :D

Premium Drupal Themes by Adaptivethemes