Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2010, 09:14
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
Pregunta UPDATE no se hace si una variable viene vacía.

Hojola otra vez... estoy haciendo un UPDATE a la base de datos, en una tabla donde guardo los datos de los usuarios, todo marcha bien, el formulario consta de los siguientes campos de texto: Nombre, Email, Nombre de Login, Contraseña y Confirmar contraseña...

Todo marcha bien, me hace el update sin problemas, pero si mando el campo Contraseña vacío, no me hace el update... La idea es que se puedan cambiar los otros datos y tener la opción de cambiar el password o no:

Código PHP:
Ver original
  1. <?php
  2. class Users_query extends Model{
  3.  
  4.     function Users_query()
  5.     {
  6.         parent::Model();
  7.     }
  8.  
  9.     function users_query_edit()
  10.     {
  11.         $id = $this->input->post('usuario_ID');
  12.        
  13.         // Si el campo password viene vacío,
  14.         // que siga usando el valor de la bd...
  15.         if($this->input->post('usuario_password') == '')
  16.         {
  17.             $password = $this->db->select('usuario_password');
  18.             $this->db->where('usuario_ID', $id);
  19.             $this->db->get('gd_usuarios');
  20.             return $password;
  21.             $post_password = $password;
  22.         }
  23.         else
  24.         {
  25.             $post_password = $this->input->post('usuario_password');
  26.         }
  27.  
  28.         $user_data_update = array(
  29.                             'usuario_nombre'    => $this->input->post('usuario_nombre'),
  30.                             'usuario_email'        => $this->input->post('usuario_email'),
  31.                             'usuario_login'        => $this->input->post('usuario_login'),
  32.                             'usuario_password'    => $post_password,
  33.                             'usuario_roll'        => $this->input->post('usuario_roll'));
  34.  
  35.         $this->db->set($user_data_update);
  36.         $this->db->where('usuario_ID', $id);
  37.         return $this->db->update('gd_usuarios', $user_data_update);
  38.     }
  39.  
  40. }
  41. ?>

Realmente no entiendo qué puede estar pasando, pero me imagino que el error esté en el if... else

Saludos y gracias de antemano....
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose