Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/04/2012, 09:14
Avatar de gjx2
gjx2
 
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: Checkbox y Textarea a Mysql

1 - $_POST['asunto_particular']
devuelve una matriz por lo tanto si la inserta directamente en un campo de text
lo unico que se te deberia de grabar es algo como " array "


2 - Fijate en la variable
$_POST['asunto_particular'];

Solo esta definida si el usuario hace un check en uno de los asuntos particulares
deberias de decirle al sistema que hacer en caso de que el usuario no seleccione ninguna y que hacer en caso de que si.


3 - No veo como optines los datos del textarea, no tiene nombre.

Voy hacer un ejemplo que va englobar el punto 1 y 2 y trabajare con la funcion isset


Código PHP:
Ver original
  1. # Compruebo si la variable esta definida o sea si el usuario hizo click en una de las opciones.
  2.     if( isset($_POST['asunto_particular']) ){
  3.        
  4.                 # verifico si el usuario ha seleccionado las dos opciones
  5.                 if( count($_POST['asunto_particular']) > 1 ){
  6.                     # si selecciono dos opciones entonces tomo los valores y lo concateno en la variable asuntos particulares.
  7.                     $asunto_particular = $_POST['asunto_particular'][0]." ".$_POST['asunto_particular'][1];
  8.                 }else{
  9.                     # de lo contrario solo tomo la opcion seleccionada por el usuario.
  10.                     $asunto_particular = $_POST['asunto_particular'][0];
  11.                 }
  12.     } else {
  13.         #si el usuario no selecciono ninguna opcion entonces asuntos_particulares se almacena vacia.
  14.             $asunto_particular = "";
  15.     }
  16.        
  17.    
  18.    
  19.    
  20.      if (isset($_POST["nombre"]))  
  21.         {
  22.            $nombre = $_POST["nombre"];
  23.            $apellidos = $_POST["apellidos"];
  24.            $dia_ausencia = $_POST["calendario"];
  25.            $razones_trabajo = $_POST["razones_trabajo"];
  26.            $licencia_convenio = $_POST["licencia_convenio"];
  27.            $asunto_particular = $asunto_particular;
  28.              
  29.  $query = 'INSERT INTO ausencias (nombre, apellidos, dia_ausencia, razones_trabajo, licencia_convenio, asunto_particular) VALUES (\''.$nombre.'\',\''.$apellidos.'\',\''.$dia_ausencia.'\',\''.$razones_trabajo.'\',\''.$licencia_convenio.'\',\''.$asunto_particular.'\')';
  30. mysql_query($query) or die(mysql_error());
  31.                              
  32.         echo"Datos enviados";
  33.         }

en caso de que quieras convertir el valor devuelto por asunto_particular en un texto entonces crea una funcion para tal fin.

ej.


Código PHP:
Ver original
  1. function getAsunto($value){
  2.        
  3.         switch( $value ){
  4.             case 1:
  5.                 $msg =  'No Retribuible';
  6.             break;
  7.            
  8.             case 2:
  9.                 $msg =  'Recuperable';
  10.             break; 
  11.  
  12.             default:
  13.                          $msg = 'Indefinido';
  14.                    
  15.         }
  16.        
  17.         return $msg;
  18.        
  19.     }

$asunto_particular = getAsunto($_POST['asunto_particular'][0]);