Seleccionar opción de dropdown con base en un $_POST - Foros del Web
[SOLUCIONADO] Seleccionar opción de dropdown con base en un $_POST
Estas en el tema de Seleccionar opción de dropdown con base en un $_POST en el foro de PHP en Foros del Web. Hola, Tengo un <form> con un elemento Dropdown. Cuando hago click en Enviar y obtengo el valor que se seleccionó ($_POST['variable']) quisiera que ese fuera ...
Seleccionar opción de dropdown con base en un $_POST
Tengo un <form> con un elemento Dropdown. Cuando hago click en Enviar y obtengo el valor que se seleccionó ($_POST['variable']) quisiera que ese fuera el valor seleccionado en el dropdown ( <option value="xxx" selected>XXX</option>)
Ejemplo práctico: dropdown con años del 2000 al 2010. Selecciono 2008, doy submit, en la siguinte página 2008 es selected
Respuesta: Seleccionar opción de dropdown con base en un $_POST
<option value="1">Opc 1</option>
<option value="2">Opc 2</option>
echo $_POST["someSEL"]
for($k=2000;$k<=2010;$k++){
echo '<option value="'.$k.'" ';
if(intval($_POST["someSEL"]) == $k){
echo ">$k</option>";
Muchas gracias por tu respuesta. Funciona genial. Siguiente duda: ¿Qué pasa si las opciones del dropdow no son numerales sino cadenas de texto? Entiendo que ahí el bucle for no funcionaría?
Utiliza la sintaxis alternativa e itera con un foreach
<?php foreach(range(2000, 2010) as $year): ?>
<option value="<?php echo $year?>">
<?php echo $year?>
//recibes datos
<?php $_POST['year'] = 2005; ?>
//vuelves a crear el select
<option value="<?php echo $year?>"<?php if($year == $_POST['year']) echo ' selected'?>>
<?php echo $year ?>
Hola, HHS,
Gracias! Ahora, el foreach funciona en cuanto tiene un rango de números (fechas, en este caso) pero ¿cómo podría hacer lo mismo con cadenas de texto? Suponiendo que el select tiene opciones como "Casa" "Perro" "Árbol"?
16/09/2018, 21:49
para las cadenas de texto es lo mismo... lo unico que tienes que poner sus valores y comparaciones entre comillas "texto"
Es lo mismo un arreglo, foreach y la condición
'arbol',
echo $item ."\n";
Y las fechas las sacas de donde?
Si tienes un arreglo como esto
$items = ["perro", "gato", "raton", "elefante"];
for($k=0;$k<sizeof($items);$k++){
echo '<option value="'.$items[$k].'" ';
if($items[$k] == $_POST["tu_select"]){
echo ">".$items[$k]."</option>";
Muchas gracias a todos, funciona perfecto :)
Etiquetas: dropdown, post, select