Mira no entendi muy bien tu codigo devido a que cada quien programa como se le de a entender pero dejo un ejempl de como Edito los registro ok dejo modelo vista y mi metodo de la controladora esper sea de ayuda
Código PHP:
Modelo
public function modificar_persona($datos=array(),$id)
{
$this->db->where('id_Persona', $id);
$this->db->update('tbl_personas', $datos);
return true;
}
Código PHP:
Funcion de mi controladora
public function editarPersonas($id=null)
{
if(!$id)
{
show_404();
}
if($this->input->post())
{
if ($this->form_validation->run("arreglo_validaciones_Personas"))
{
$data=array
(
'nombre'=>$this->input->post("nombre",true),
'correo'=>$this->input->post("mail",true),
'telefono'=>$this->input->post("telefono",true)
);
$guardar=$this->model_persona->modificar_persona($data,$id);
if($guardar)
{
$this->session->set_flashdata('ControllerMessage', 'Se ha editado el registro exitosamente.');
redirect(base_url().'index.php/Controller_persona/editarPersonas/'.$id, 301);
}else
{
$this->session->set_flashdata('ControllerMessage', 'Se ha producido un error. Inténtelo nuevamente por favor.');
redirect(base_url().'index.php/Controller_persona/editarPersonas'.$id, 301);
}
}
}
$datos=$this->model_persona->getPersonasPorId($id);
if(sizeof($datos)==0)
{
show_404();
}
$this->layout->view("vista_editar_personas",compact("id","datos"));
}
Código PHP:
Vista
<h1 align="center" class="muestra">Editar Persona</h1>
<p>
<BODY BGCOLOR="orange">
<center><b><a href="<?php echo base_url()?>index.php/controller_persona/verPersonas">Volver Atrás</a><center><b>
</p>
<hr>
<?php
$atributos = array( 'id' => 'idform','name'=>'form');
//echo form_open_multipart(null,$atributos);
echo form_open(base_url().'index.php/controller_persona/editarPersonas/'.$id,$atributos);
?>
<?php echo validation_errors(); ?>
<?php
if ( $this->session->flashdata('ControllerMessage') != '' )
{
?>
<p style="color: red;"><?php echo $this->session->flashdata('ControllerMessage'); ?></p>
<?php
}
?>
<p>
Nombre:
</p>
Nombre:
<?php
$campos = array(
'name' => 'nombre',
'id' => 'id_nombre',
'maxlength' => '100',
'value'=> $datos->nombre
);
echo form_input($campos);
?>
<hr/>
E-mail:
<?php
$campos = array(
'name' => 'mail',
'id' => 'id_mail',
'maxlength' => '100',
'value'=> $datos->correo
);
echo form_input($campos);
?>
<hr/>
Telefono:
<?php
$campos = array(
'name' => 'telefono',
'id' => 'id_telefono',
'maxlength' => '100',
'value'=> $datos->telefono
);
echo form_input($campos);
?>
<hr/>
<?php
$datos = array(
'name' => 'id',
'value'=>"$id"
);
echo form_hidden($datos);
?>
<hr/>
<?php
echo form_submit('btnEnviar', 'Enviar');
?>
<hr/>
<?php
echo form_close();
?>
Espero te ayude saludos