Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/11/2010, 14:40
Avatar de rogertm
rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 19 años, 3 meses
Puntos: 638
Respuesta: UPDATE no se hace si una variable viene vacía.

Bueno, que con tantas cosas no he tenido tiempo de terminar esto...

A ver, tengo un formulario que envío con datos que quiero actualizar en la base de datos y con respecto al último código que puse aquí, he hecho algunos cambios, ahora tengo esto:
Código PHP:
Ver original
  1. <?php
  2. if($user_edit->num_rows() > 0)
  3. {
  4.     $user_to_edit = $user_edit->row();
  5.  
  6.     // Reglas de validacion
  7.     $valid_field = array(
  8.                     'nombre_to_edit'    => $user_to_edit->usuario_nombre,
  9.                     'email_to_edit'        => $user_to_edit->usuario_email,
  10.                     'login_to_edit'        => $user_to_edit->usuario_login,
  11.                     'password_to_edit'    => $user_to_edit->usuario_password,
  12.                     );
  13.  
  14. ?>
  15.     <?php echo validation_errors(); ?>
  16.     <?php echo form_open('/cpanel/users_edit/user_do_edit/'.$this->input->post('usuario_ID')); ?>
  17.         <fieldset name="Insert User">
  18.             <legend>Editar los datos del usuario: <strong><?php echo $user_to_edit->usuario_nombre; ?></strong></legend>
  19.             <label for="usuario_nombre">Nombre de Usuario</label>
  20.             <input type="text" name="usuario_nombre" value="<?php echo set_value($valid_field['nombre_to_edit']); ?>" class="input" />
  21.             <!-- Resto del formulario -->
Lo que hice fue, pasar por un array los datos que debo mostrar en el formulario, con el objetivo de validarlos de manera más fácil:
Código PHP:
Ver original
  1. <?php echo set_value($valid_field['nombre_to_edit']); ?>
Y no me muestra nada, pero si le quito el set_value() entonces sí muestra el nombre del usuario. Todo esto en la vista claro...

En el controlador tengo lo siguiente:
Código PHP:
Ver original
  1. function user_do_edit()
  2. {
  3.     // Reglas de validación
  4.     $this->form_validation->set_rules('usuario_nombre', 'Nombre de Usuario', 'trim|required|htmlspecialchars|xss_clean');
  5.     $this->form_validation->set_rules('usuario_email', 'Correo Electr&oacute;nico', 'trim|required|htmlspecialchars|valid_email|xss_clean');
  6.     $this->form_validation->set_rules('usuario_login', 'Nombre de Login', 'trim|required|htmlspecialchars|xss_clean');
  7.     $this->form_validation->set_rules('usuario_password', 'Contrase&ntilde;a', 'trim|required|matches[usuario_password_confirm]|md5|xss_clean');
  8.     $this->form_validation->set_rules('usuario_password_confirm', 'Confirmar Contrase&ntilde;a', 'trim|required|md5|xss_clean');
  9.  
  10.     $this->load->model('/cpanel/Users_query');
  11.     $user_do_edit['do_edit'] = $this->Users_query->users_query_edit();
  12.     redirect('/cpanel/users_edit/index/'.$this->input->post('usuario_ID'));
  13. }

¿Qué es lo que tengo mal? Ya tengo cargando automáticamente la librería form_validation y el helper form. ¿Por qué no me manda los errores ni me valida?

La documentación la leí y de hecho, ya he realizado un insert a la base de datos usando estas reglas y todo ha funcionado perfectamente...

Gracias...
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose