Foros del Web » Programando para Internet » PHP »

Option de select segun bd

Estas en el tema de Option de select segun bd en el foro de PHP en Foros del Web. Hola, mi problema es re bobo pero no se como hacerlo jajajajaja. Tengo una bd, un campo de una tabla lleva numeros del 1 al ...
  #1 (permalink)  
Antiguo 09/02/2008, 11:56
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 11 meses
Puntos: 2
Option de select segun bd

Hola, mi problema es re bobo pero no se como hacerlo jajajajaja. Tengo una bd, un campo de una tabla lleva numeros del 1 al 7 que representan los dias de la semana. Bueno, quiero que se seleccione el dia segun la base de datos...

Este es el select:

Código PHP:
<select name="dia" class="file">
<
option value="1">Lunes</option>
<
option value="2">Martes</option>
<
option value="3">Miercoles</option>
<
option value="4">Jueves</option>
<
option value="5">Viernes</option>
<
option value="6">Sabado</option>
<
option value="7">Domingo</option>
        </
select
Gracias
  #2 (permalink)  
Antiguo 09/02/2008, 16:16
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 17 años, 8 meses
Puntos: 67
Re: Option de select segun bd

Si que es rebobo, pero no has teminado de explicarlo bien, por ejemplo, qué lenguaje estás usando? php? qué base de datos? mysql. Voy a asumir que es así porque es lo más común.
Ok, digamos que ya tengas el valor obtenido desde la base de datos, el valor se guarda en esta variable

$valdia


ok, entonces tienes que ir comparando el valor de la variable $valdia con los valores de cada option. De este modo

<select name="dia" class="file">
<option value="1"
<?php
if ($valdia == "1") echo " selected=\"selected\"
?>
>Lunes</option>

Eso es el ejemplo para el primer día, yo supongo que por lógica podrías hacerlo para los demás option. puse " selected=\"selected\" porque estoy asumiendo que usas xhtml, daría igual poner en lugar de eso simplemente " selected" (respeta el espacio inicial)

Espero que lo hayas entendido y te haya servido.
  #3 (permalink)  
Antiguo 12/02/2008, 19:11
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 11 meses
Puntos: 2
Re: Option de select segun bd

Ahhh no pero vos sos un genio..... Es obvio que se eso, pero tengo que repetirlo hasta el 7. Yo digo otra forma mas facil....
  #4 (permalink)  
Antiguo 13/02/2008, 09:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Option de select segun bd

Pues todo depende, si tu select lo haces "a mano" así como esta, es la única forma de hacerlo como te sugirió ElJavista, pero si lo generas dinámicamente desde un arreglo o una base de datos, en tu ciclo para imprimir los valores vas comparando y solo le agregas el selected al indicado.

Saludos.
  #5 (permalink)  
Antiguo 16/02/2008, 16:26
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Option de select segun bd

Lo más práctico es usando un arreglo que luego recorrerás para imprimir cada opción una por una, como dice GatorV:

Código PHP:
# Un arreglo con los días de la semana
$dias = array(1=>"Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo");
 
echo 
"<select name=\"dia\" class=\"file\">\n";
 
# Recorres el arreglo, y vas comparando con el valor que tienes guardado en la BD
foreach($dias as $value=>$dia) {
    echo 
"<option value=\"$value\"";
    
# Comparas y seleccionas
    
if($value == $valor_de_la_bd) echo " selected";
    echo 
">$dia</option>\n"
}
 
echo 
"</select>"
Un saludo,
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 14:10.