Foros del Web » Programando para Internet » PHP »

Recoger datos de un SELECT MULTIPLE en PHP con SQL

Estas en el tema de Recoger datos de un SELECT MULTIPLE en PHP con SQL en el foro de PHP en Foros del Web. Basicamente quiero recoger datos de un SELECT MULTIPLE en PHP, pero con SQL, he intentando esto, pero no funciona: <? posición de un array es ...
  #1 (permalink)  
Antiguo 31/03/2005, 21:14
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Recoger datos de un SELECT MULTIPLE en PHP con SQL

Basicamente quiero recoger datos de un SELECT MULTIPLE en PHP, pero con SQL, he intentando esto, pero no funciona:

<?
posición de un array es la 0
$ar=$_POST["Areas"];
for ($i=0;$i<count($ar);$i++)
{
putenv("ORACLE_SID=bdtest");
putenv("ORACLE_HOME=/opt/oracle/product/9.2.0");
$conectar=ora_logon("siscpa@bdtest","sis37cpa");
if(!$conectar){
echo "No pudo conectarse";
}else{
echo "<p>Conexion satisfactoria";
}
$op=ora_open($conectar);
$sql="select * from siscpa.scp_tm_movimiento where cod_ubigeo='$Areas[$i]' and cod_producto='14010020100' and cod_variable='1' and cod_ano='$Years[$i]'"; // parece que no hay problema con el Years, pero el Areas si, en el formulario lo puse como arreglo y se supone que con el FOR se agarra uno por uno, pero no sale
$parse=ora_parse($op,$sql);
$exec=ora_exec($op);
echo "<p>".ora_getcolumn($op,5);
echo "<p>Area".$i." : ".$Areas[$i]; //aqui si agarra
}


?>
  #2 (permalink)  
Antiguo 31/03/2005, 21:28
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
En si la consulta me parece que esta bien, pero no se porque en el PHP no acepta la variable Areas[] como array. Es decir, de un select multiple agarro por ejemplo 3 y solo me presenta el primero registro, parece que no es por el FOR porque "Conexion Exitosa" se escribe varias veces segun el FOR, ademas con el echo imprime Areas[$i] normal, pero en la sentencia SQL no funcionan los demas.

¿Alguien me puede ayudar?
  #3 (permalink)  
Antiguo 01/04/2005, 07:31
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Puedes usar un bulce tipo foreach() para recorrer el array que un select multiple te entrega (usando <select name="nose[] multiple> ....)

Código PHP:
foreach($_POST['nose'] as $valor){
echo 
$valor."<br>";

Un saludo,
  #4 (permalink)  
Antiguo 01/04/2005, 16:58
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
A ver lo voy a probar, pero con eso me asegura que se imprima el echo?, pues yo ta imprimo el echo normal con el for, pero la Sentencia SQL es el problema, porque solo imprime el primero y los demas no salen.
  #5 (permalink)  
Antiguo 01/04/2005, 17:36
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Bueno, acabo de probar tu sugerencia, al menos esta comenzando bien, gracias de antemano, cualquier cosa, posteo otra vez.

saludos.
  #6 (permalink)  
Antiguo 02/04/2005, 05:03
Avatar de Lord of freaks  
Fecha de Ingreso: octubre-2004
Ubicación: Madrid
Mensajes: 334
Antigüedad: 19 años, 6 meses
Puntos: 2
Te recomiendo que mires este artículo de Desarrollo web seguro que en el encuentras la solución, con decirte que se llama "Recoger datos de un Select Múltiple con PHP"...

http://www.desarrolloweb.com/articul...6.php?manual=6

Un saludo
__________________
Una vez un elemental de rayos mató una tribu entera de tritones.

¡¡ El sólo quería darse un baño !!

http://www.frikilandia.com

Neither Fu Nor Fa
  #7 (permalink)  
Antiguo 02/04/2005, 11:30
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Gracias Lord of Freaks pero justo tiene el mismo problema que yo tenia, que usaba el FOR, pero no se que tiene el SQL que al parecer no reconoce cuando se le dan variables en array, pero con la ayuda de CLUSTER me ha solucionado al menos dos cosas un monton. Por un lado tengo 4 SELECT MULTIPLEs y al parecer voy a tener que hacer 4 foreach:

foreach($_POST['nose1'] as $valor1){
foreach($_POST['nose2'] as $valor2){
foreach($_POST['nose3'] as $valor3){
foreach($_POST['nose4'] as $valor4){
echo $valor1."<br>";
echo $valor2."<br>";
echo $valor3."<br>";
echo $valor4."<br>";
}}}}
  #8 (permalink)  
Antiguo 02/04/2005, 11:31
Avatar de Galled  
Fecha de Ingreso: marzo-2005
Ubicación: Lima
Mensajes: 254
Antigüedad: 19 años
Puntos: 0
Bueno de seguro hay mejores maneras, pero por ahora no se me ocurre otra
  #9 (permalink)  
Antiguo 22/05/2009, 12:48
 
Fecha de Ingreso: enero-2009
Mensajes: 6
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Recoger datos de un SELECT MULTIPLE en PHP con SQL

Hola yo tambien estaba buscando esto en internet y no encontre asi que lo intente hacer y me salio pero no se si tan efectivo pero funciona aqui va el codigo:
Cita:
<?php

$mysql = mysql_query("SELECT * FROM tabla WHERE usuario='$usuario'");
echo "<select>";
echo"<option value=";
while($fila = mysql_fetch_array($mysql)){
$amigo = $fila["amigo"];

echo"$amigo>$amigo</option><option value=";

}

echo ">-------</option></select><br/><br/>";

?>
Bueno espero que le sirva a alguien......
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 04:34.