Ver Mensaje Individual
  #12 (permalink)  
Antiguo 25/10/2012, 16:12
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 10 meses
Puntos: 406
Respuesta: Insertar valores de multiples checkbox en Mysql

Este código esta mal....
Código PHP:
Ver original
  1. mysql_select_db($database_ceo_webportal, $ceo_webportal);
  2.     $folio25=@$_POST['folio'];
  3.     $fechaG2=@$_POST['fechaG'];
  4.     $numR2=@$_POST['numR'];
  5.     //PRIMERA OPCION
  6.         $query='';
  7.         //for ($i=0;$i<sizeof($folio25);$i++){
  8.         foreach($_POST['folio'] as $folio20){
  9.              
  10.             //$folioS .=$folio20.", ";
  11.         //$folioS=substr($folioS,0,-2);
  12. //        echo $folioS;
  13.  
  14.             //for ($i=0;$i<sizeof($folioS);$i++){
  15.         $query.="('$folio20','normal','$fechaG2','$numR2')";
  16.         $query=rtrim($query,',');
  17.         if(mysql_query("INSERT INTO reporte_pacientes (pacientes_folio_paciente,tipo_reporte,fecha_de_generacion_rep,numero_reporte) VALUES $query")){
  18.             echo "Done";
  19.             }//if
  20.             //reset;
  21.         }

Para comenzar, no se si tengas idea para que sirve '.=' en PHP, si o lo tienes claro te lo describo, se utiliza para agregar un valor a una variable ya establecida, por lo cual cada iteración de foreach estas agregando los valores, por lo cual si tienes 5 elementos en el array te quedará una variable de esta forma....
Código PHP:
Ver original
  1. $query = "('$folio20','normal','$fechaG2','$numR2')('$folio20','normal','$fechaG2','$numR2')('$folio20','normal','$fechaG2','$numR2')('$folio20','normal','$fechaG2','$numR2')('$folio20','normal','$fechaG2','$numR2')";

No solo eso, después le aplicas rtrim sobre el caracter coma (,), por lo cual queda así...
Código PHP:
Ver original
  1. $query = "('$folio20''normal''$fechaG2''$numR2')('$folio20''normal''$fechaG2''$numR2')('$folio20''normal''$fechaG2''$numR2')('$folio20''normal''$fechaG2''$numR2')('$folio20''normal''$fechaG2''$numR2')";

Y por ultimo realizas el "insert", pero no depuras la consulta (no mandas a llamar a mysql_error()) por lo cual jamas te enteras del error, arregla primero esos errores y después continuas con lo que se te presente....
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)