Foros del Web » Programando para Internet » PHP »

Select multiple (obtener valores)

Estas en el tema de Select multiple (obtener valores) en el foro de PHP en Foros del Web. Hola ¿Alguien sabe como puedo obtener los valores de select tipo multiple , es decir que pueden seleccionarse varios valores? estoy intentando hacerlo de la ...
  #1 (permalink)  
Antiguo 19/04/2004, 19:30
Avatar de ministroy  
Fecha de Ingreso: febrero-2002
Ubicación: Oaxaca, Oaxaca
Mensajes: 93
Antigüedad: 22 años, 2 meses
Puntos: 0
Select multiple (obtener valores)

Hola
¿Alguien sabe como puedo obtener los valores de select tipo multiple , es decir que pueden seleccionarse varios valores?

estoy intentando hacerlo de la siguiente manera:

$mes=HTTP_POST_VARS['mes']
$i=1;
while (isset($mes[$i]))
{
echo $mes[$i];
$i++;
}
__________________
Evoluciona en Internet -> E-WebStudio.Net
  #2 (permalink)  
Antiguo 19/04/2004, 20:04
Avatar de ministroy  
Fecha de Ingreso: febrero-2002
Ubicación: Oaxaca, Oaxaca
Mensajes: 93
Antigüedad: 22 años, 2 meses
Puntos: 0
este es el select del formulario
<select name="mes" multiple size="3">
<option value="1">Enero</option>
<option value="2">Febrero</option>
<option value="3">Marzo</option>
<option value="4">Abril</option>
<option value="5">Mayo</option>
<option value="6">Junio</option>
</select>
__________________
Evoluciona en Internet -> E-WebStudio.Net
  #3 (permalink)  
Antiguo 19/04/2004, 22:31
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
lamento decirte que, hasta donde sé, con php existe un problema con ese tipo de selects, solo te va a devolver el último valor seleccionado. Si estuvieras con JSP podrías hacer request.getParameterValues('mes'); y te devuelve todos, pero no he encontrado una función similar para PHP. Sin embargo tampoco es necesario, puedes usar varios checkbox, cada uno para un mes, y con el nombre del mes, o bien definiendo un arreglo HTML para recibir los meses con un foreach.
Un arreglo en html queda algo así
<input type="checkbox" name="variable[]">
y pones tantos como necesites con el mismo nombre, y luego recibes con php foreach($_POST['variable'] as $algo)

saludos y suerte
  #4 (permalink)  
Antiguo 20/04/2004, 07:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. el "problema" que comenta sism82 se solventa trantando al select múltiple como un array y recogerlo en PHP como tal ..

Código PHP:
<select name="mes[]" multiple size="3"
y en PHP (suponiendo que se usó método POST para el formulario ..)

Código PHP:
<?
foreach ($_POST['mes'] as $indice => $valor){
echo 
"indice: ".$indice." => ".$valor."<br>";
}
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 20/04/2004, 08:59
Avatar de ministroy  
Fecha de Ingreso: febrero-2002
Ubicación: Oaxaca, Oaxaca
Mensajes: 93
Antigüedad: 22 años, 2 meses
Puntos: 0
Muchas gracias a ambos, utilice la segunda opciòn y funciono correctamente, un saludo y gracias por todo
__________________
Evoluciona en Internet -> E-WebStudio.Net
  #6 (permalink)  
Antiguo 05/05/2004, 11:45
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Hola, no acabo de entender bien estos scripts.
A mí este no me funcina:

foreach ($_POST['mes'] as $indice => $valor){
echo "indice: ".$indice." => ".$valor."<br>";
}

Tampoco me funciona esto de otro post:

for ($i=0; $i<=count($mes): $i+){
echo $mes[$i];
}

pero supongo que es porque no lo entiendo.
yo necesitaría relacionar en pantalla los elegidos y además sumar los valores numéricos de un campo precio relacionado. Tengo un campo mes, y un campo precio. EJ: el mes de enero tiene un precio de 10, el de febrero de 12. Si adquiero suscripción para enero y febrero pagaré 22. Pues bien, no se ni como empezar porque este script me da un error.

Gracias, como siempre de antemano por ayudar a este novatillo.

Última edición por autonotel; 05/05/2004 a las 11:51
  #7 (permalink)  
Antiguo 05/05/2004, 13:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y que formulario usas? .. usas PHP 4.1.0 o superior (par los casos de usar $_POST) .. usas método POST en tu formulario? ...

Esos cálculos que tienes que hacer .. quieres hacerlos con PHP (en el servidor) o los quieres hacer en el cliente (navegador) antes de que "suban" los datos al servidor (antes de que des a tu botón "submit" del formulario).?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #8 (permalink)  
Antiguo 05/05/2004, 15:47
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
Para utilizar method post. PHP Myadmin. El cálculo quiero que se haga después de la selección y después de submit, en el servidor, creo que si no estaría en otro foro no? y los datos serán extraídos de la base de datos. Los datos de precio según més. En cualquier caso, de momento me conformaría con saber cómo puedo hacer que un visitante elija varias opciones de un select múltiple e imprimirlos en pantalla al margen de que los datos estén en una BD o no. Luego ya me buscaré la vida, o volveré a dar el coñazo.

Última edición por autonotel; 05/05/2004 a las 15:49
  #9 (permalink)  
Antiguo 05/05/2004, 16:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Para utilizar method post. PHP Myadmin.
mm que tiene que ver PHP Myadmin en todo esto?

Cita:
El cálculo quiero que se haga después de la selección y después de submit, en el servidor, creo que si no estaría en otro foro no?
Si supieras la cantidad de mensajes que caen en este foro y no son de este sobre ese mismo tema .. Por eso siempre pregunto o intento que definan "donde" se desea hacer esa validación .. pues como ya sabes se puede hacer en el servidor o en el cliente (pese que ya conocemos que lo que manda es lo que valide el servidor).

Cita:
y los datos serán extraídos de la base de datos. Los datos de precio según més. En cualquier caso, de momento me conformaría con saber cómo puedo hacer que un visitante elija varias opciones de un select múltiple e imprimirlos en pantalla al margen de que los datos estén en una BD o no. Luego ya me buscaré la vida, o volveré a dar el coñazo.
Sería mejor que inicies un nuevo tema y expongas tu problema concreto .. no sé si ya estás usando algo de código que no te funcione o estas sólo pensando la idea. También sería bueno ver tu modelo de datos (tu tabla(s) implicadas y campos que vas a usar en todo esto) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 05/05/2004 a las 16:17
  #10 (permalink)  
Antiguo 06/05/2004, 09:41
Avatar de autonotel  
Fecha de Ingreso: junio-2003
Ubicación: Vigo
Mensajes: 480
Antigüedad: 20 años, 10 meses
Puntos: 13
ok expondré el tema como nuevo explicando mi caso. Es que no quiero que se piensen que lo que quiero es que me den el código comlpeto. Intento entender el método para aplicarlo a lo que quiero hacer. Gracias.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 19:18.