Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Tomar valores de select multiple y guardarlos en registros independientes

Estas en el tema de Tomar valores de select multiple y guardarlos en registros independientes en el foro de PHP en Foros del Web. Estimados: Vuelvo a acudir a su valiosa ayuda para solucionar mi problema. Tengo un formulario, en la cual el usuario selecciona en un formulario varios ...
  #1 (permalink)  
Antiguo 26/02/2013, 08:28
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Tomar valores de select multiple y guardarlos en registros independientes

Estimados:

Vuelvo a acudir a su valiosa ayuda para solucionar mi problema.

Tengo un formulario, en la cual el usuario selecciona en un formulario varios valores y los guarda en un select multiple. Al darle enviar al formulario, recibo este select multiple llamado 'sel_list' de esta forma:

Código PHP:
$codigoimplode(','$_POST['sel_list']); 
en donde cada valor queda separado por coma (,), por lo tanto, si hago

Código PHP:
echo $codigo
el valor que me muestra es

Código PHP:
1234,5678,9012 
Ahora, deseo tomar estos valores y guardar con INSERT en mi base de datos MySql cada uno en un registro aparte dentro de mi tabla en el campo "codigo", de esta forma:

Código PHP:
id fecha rut codigo
1  
Miercoles 14 de enero 123.456.789-1234
2  
Miercoles 14 de enero 123.456.789-5678
3  
Miercoles 14 de enero 123.456.789-9012 
Cabe mencionar que los valores de fecha y rut ya están definidos como variable $fecha y $rut, y tambien vienen del formulario


Alguna idea?

Muchas gracias por su tiempo!
  #2 (permalink)  
Antiguo 26/02/2013, 08:31
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

Algo tan sencillo como:

Código PHP:
Ver original
  1. $separador = explode(",",$_POST['sel_list']);
  2.  
  3. for($i = 0 ;$i <= count($separador);$i++)
  4. {
  5.      $query = sprintf("INSERT INTO table VALUES ( '%s','%s','%s')",$fecha,$rut,$separador[$i]);
  6. }
  #3 (permalink)  
Antiguo 26/02/2013, 08:43
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

Gracias informaciónsys por la pronta respuesta!


Puse, como me indicaste, lo siguiente:

Código PHP:
$codigoimplode(','$_POST['sel_list']);

$separador explode(",",$_POST['sel_list']);
 
for(
$i ;$i <= count($separador);$i++)
{
     
$query sprintf("INSERT INTO horas_codigo_buin VALUES ( '%s','%s','%s')",$fecha,$rut,$separador[$i]);

Pero la tabla horas_codigo_buin sigue vacía.

Que estoy haciendo mal?


Mil gracias nuevamente!!!
  #4 (permalink)  
Antiguo 26/02/2013, 08:45
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

ok

jeje, claro porque solo te expuse como seria, pero falta mas en el codigo, por ejemplo falta mysql_query para que ejecute el insert no ?,
  #5 (permalink)  
Antiguo 26/02/2013, 09:07
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

Espectacular!!

Hizo lo que esperaba... mil gracias!!!

Solo que ahora guarda un valor vacío, es decir, si son enviados 2 códigos, guarda 2 y un tercero vacio, de esta forma:

Código PHP:
id fecha rut codigo 
1  
Miercoles 14 de enero 123.456.789-1234 
2  
Miercoles 14 de enero 123.456.789-5678 
3  
Miercoles 14 de enero 123.456.789-

Adjunto el codigo que tengo!

Código PHP:
$codigoimplode(','$_POST['sel_list']);

$separador explode(",",$codigo);
 
for(
$i ;$i <= count($separador);$i++)
{
     
mysql_query("INSERT INTO horas_codigo_buin (fecha, hora, codigo) VALUES ('$fecha','$hora','$separador[$i]')");} 

Que será? Gracias!
  #6 (permalink)  
Antiguo 26/02/2013, 09:12
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años, 6 meses
Puntos: 76
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

ok

es porque esta haciendo un bucle mas

entonces prueba cambiar la linea

Código PHP:
Ver original
  1. for($i = 0 ;$i <= count($separador);$i++)

Por

Código PHP:
Ver original
  1. for($i = 0 ;$i < count($separador);$i++)
  #7 (permalink)  
Antiguo 26/02/2013, 09:14
 
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Tomar valores de select multiple y guardarlos en registros independientes

MARAVILLOSO!!

Gracias informacionsys por la ayuda!!!!!!

Etiquetas: implode, múltiple, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:54.