Foros del Web » Programando para Internet » PHP »

Guardar datos select multiple

Estas en el tema de Guardar datos select multiple en el foro de PHP en Foros del Web. Cordial saludo. Tengo un select multiple con n items; no he podido hacer que me recorra ese select multiple y guardar los valores en la ...
  #1 (permalink)  
Antiguo 05/08/2005, 11:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta Guardar datos select multiple

Cordial saludo.

Tengo un select multiple con n items; no he podido hacer que me recorra ese select multiple y guardar los valores en la tabla


Alguien sabe como hacerlo??

Agradezco la ayuda y sugerencias que me puedan brindar.
  #2 (permalink)  
Antiguo 05/08/2005, 12:59
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Pone tu codigo del dicho select, y que estas haciendo para lograr que no te lo guarde.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 05/08/2005, 14:20
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Pregunta

<script language="JavaScript">
function EnviaLista(formulario)
{
obj=document.getElementById('lstEnvia');
if (obj.selectedIndex==-1) return;
valor=obj.value;
txt=obj.options[obj.selectedIndex].text;
obj.options[obj.selectedIndex]=null;
obj2=document.getElementById('lstRecibe');
opc = new Option(txt,valor);
eval(obj2.options[obj2.options.length]=opc);
}
function DevuelveLista(formulario)
{
obj=document.getElementById('lstRecibe');
if (obj.selectedIndex==-1) return;
valor=obj.value;
txt=obj.options[obj.selectedIndex].text;
obj.options[obj.selectedIndex]=null;
obj2=document.getElementById('lstEnvia');
opc = new Option(txt,valor);
eval(obj2.options[obj2.options.length]=opc);
}

</script>
Este codigo lo utilizo para pasar un item al otro select; en el segundo select solo estaran los que debo guardar, pero al darle $_REQUEST['lstRecibe']
como es logico me guardaria un solo item y necesito guardar todos los que tenga ese select multiple.

Alguna idea de como hacerlo?????

Agradezco la ayuda y sugerencias que me puedan brindar.
  #4 (permalink)  
Antiguo 08/08/2005, 07:45
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Nadie?????

No he podido hacerlo, con Javascript es facil pero como php y JavaScript no se puede hacer esto.

Please me urge!
  #5 (permalink)  
Antiguo 08/08/2005, 08:55
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
El codigo que pusiste no es muy educativo que digamos....
A ver si entendi...en $_REQUEST['lstRecibe'] tenes el valor del selec multiple? bueno, este es un vector, tendrás que recorrerlo, a modo de ejemplo algo asi:
foreach($_REQUEST['lstRecibe'] as $item){
mysql_query( "insert into tabla (valor) values ('".$valor."') " );
#Esto se hara por cada valor seleccionado del multiple
}
A esto agregale validaciones y demas.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 08/08/2005, 14:02
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
No me sale

Cordial saludo.

Puse el codigo asi:

foreach($_REQUEST['lstRecibe'] as $item=>$valor)
{
echo "item".$valor;
}
pero me sale el siguiente error:

Warning: Invalid argument supplied for foreach() in c:\appserv\www\cdi\pruebalista.php on line 120

La linea 120 es la del foreach

Agradezco la ayuda que me puedas brindar.
  #7 (permalink)  
Antiguo 08/08/2005, 14:07
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
foreach te está diciendo que el array $_REQUEST['lstRecibe'] no contiene elementos. Intenté pasar un select multiple, pero siempre me pasó sólo un dato.
  #8 (permalink)  
Antiguo 08/08/2005, 16:06
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Nadie sabe como ayudarme??

Saludos.

No hay forma de hacer esto???
  #9 (permalink)  
Antiguo 08/08/2005, 16:08
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Por que no usas checkboxes?
  #10 (permalink)  
Antiguo 08/08/2005, 16:35
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
http://www.desarrolloweb.com/articul...6.php?manual=6

Saludos.
  #11 (permalink)  
Antiguo 08/08/2005, 18:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Con checkboxes???

Son mas o menos 500 empleados, como controlo y como pinto 500 chekboxes???

Hay alguna guia para hacer esto???

Agradezco la ayuda que me estan brindando.

Mirare el link que me plantean..
  #12 (permalink)  
Antiguo 09/08/2005, 08:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
No me funciona con el link

Saludos alvlin

No me arroja ningun resultado con el ejemplo del link de desarrollo web; como si no hubiera nada en el select multiple...
  #13 (permalink)  
Antiguo 09/08/2005, 08:17
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Mira esto:

Código PHP:
<html>
<body>
<?php
   
if($_POST['opciones'])
   {
      foreach(
$_POST['opciones'] as $opcion)
         echo 
$opcion."<br>";
   }
?>
<form name="form1" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
   <select name="opciones[]" multiple>
      <option>Uno</option>
      <option>Dos</option>
      <option>Tres</option>
      <option>Cuatro</option>
   </select>
   <br>
   <input type="submit" name="enviar" value="Enviar">
</form>
</body>
</html>
  #14 (permalink)  
Antiguo 09/08/2005, 09:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Ya entiendo algo pero..

Saludos claudiovega

Probe y si me salio pero debo seleccionar los items, la idea es que no seleccione nada, sino que tome todos los items, me explico si el select multiple tiene 50 items, el usuario no le va a gustar ponerse a marcar todos los 50 items, hay alguna forma de hacerlo para que tome todos los items del select multiple???

Agradezco de antemano la ayuda que me han brndado.
  #15 (permalink)  
Antiguo 09/08/2005, 09:46
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
¿Entonces para que darse la molestia de mostrarselos?
O si necesitas mostrarselos los muestras, pero si el usuario no va a seleccionar nada cuando los necesites los vuelves a sacar desde la bd, con los criterios que correspondan, es decir, si en el formulario los muestras con algun criterio de seleccion usas el mismo criterio a la hora de grabar y ya.
  #16 (permalink)  
Antiguo 09/08/2005, 11:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Un poco mas de aclaracion

Saludos claudiovega.
No me han entendido el proposito de la pagina.
En un select multiple muestro todos los empleado(cedula y nombre) se llama lstEmp y otro select multiple llamado lstRecibe; admeas tengo dos botones: > y <; cuando oprimo el > mando un item de lstEmp a lstRecibe, se borra el item de lstEmp y cuando oprimo < manda un item de lstRecibe a lstEmp, se borra el item de lstRecibe; el select multiple que quiero guardar es el de lstRecibe;

porque razon hago esto???
Como explique son mas o menos 500 empleados y digamos que solo 15 tienen permisos a determinadas cosas, asi seria mas facil para el usuario.

Espero haberme dado a entender un poco mas

Agradezco la ayuda que me ha brindado.
  #17 (permalink)  
Antiguo 09/08/2005, 13:28
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
Talvez sería más fácil colocar tus usuarios en grupos y dar permisos a los grupos, pero eso es otro cuento.

En este caso podrias, antes del submit, seleccionar todos los usuarios de lstRecibe con javascript, asi llegarían todos al scritp.
  #18 (permalink)  
Antiguo 09/08/2005, 14:10
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
No entendi muy bien

Saludos claudiovega.
Soy nuevo en esto mas que todo he trabajado con PHP y algo de javascript pero como recogo los valores de javascript en PHP, puedes iluminarme un poco???
  #19 (permalink)  
Antiguo 09/08/2005, 14:22
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
No hablo de recoger los valores, sino de seleccionar todos los elementos del select, con javascript, como si el usuario arrastrara el mouse sobre ellos y luego hacer el submit. Te busco un codigo en javscript y te doy mejor la idea.
  #20 (permalink)  
Antiguo 09/08/2005, 18:19
 
Fecha de Ingreso: febrero-2005
Mensajes: 650
Antigüedad: 12 años, 9 meses
Puntos: 2
Ok,claudiovega busacre codigo para ver como selecciono todos los items, sin embargo si me puedes colaborar con eso estaria muy agradecido.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:52.