[ask] bikin simple aplikasi (edit data)

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; ?>

--

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

<?php
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 :

<?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????

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

makasih bos :D

makasih bos :D