Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Traer info de la BD a un menu de selección (listbox)

Estas en el tema de Traer info de la BD a un menu de selección (listbox) en el foro de PHP en Foros del Web. El tema es así, tengo un form. en donde para ingresar, por ejemplo, el sexo del usuario al momento de registrarse, despliega las opciones (masc/fem) ...
  #1 (permalink)  
Antiguo 20/06/2012, 16:06
 
Fecha de Ingreso: mayo-2011
Ubicación: Córdoba Capital
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 1
Pregunta Traer info de la BD a un menu de selección (listbox)

El tema es así, tengo un form. en donde para ingresar, por ejemplo, el sexo del usuario al momento de registrarse, despliega las opciones (masc/fem) pero que las he cargado yo (o sea, esas opciones no vienen de la BD). Esto sería así:

Código HTML:
<select name="menusexo" id="menusexo">
<option selected="selected">Seleccione...</option>
<option value="Masculino">Masculino</option>
<option value="Femenino">Femenino</option>
</select> 
Perfecto, a la hora de insertar, hermoso, anda de 10, peeeeeeeero.. a la hora de ingresar a editarusuario, donde también tengo el mismo select, no me aparece ya seleccionada la opción antes insertada.
En pocas palabras, en la tabla usuarios de la BD, en sexo, dice por ej: "masc", y cuando entro a editarusuario me aparece "seleccione...".

pense en usar...

Código PHP:
<?php echo $usuario['sexo'];?>
pero no anda..

Se que es una tontera, en google he buscado y no he encontrado nada, pido a ver si me pueden tirar una mano de como es esa "simple" linea de código o de una palabra o termino específico con que buscar en google.

Muchas gracias!
  #2 (permalink)  
Antiguo 20/06/2012, 16:11
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
Respuesta: Traer info de la BD a un menu de selección (listbox)

Código PHP:
Ver original
  1. <select name="menusexo" id="menusexo">
  2. <option>Seleccione...</option>
  3. <option value="Masculino" <?php if($usuario['sexo'] == "Masculino"){?> selected="selected" <?php } ?>>Masculino</option>
  4. <option value="Femenino" <?php if($usuario['sexo'] == "Femenino"){?> selected="selected" <?php } ?>>Femenino</option>
  5. </select>

__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #3 (permalink)  
Antiguo 20/06/2012, 16:12
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
Respuesta: Traer info de la BD a un menu de selección (listbox)

Eso en caso de que guarde el sexo como string. En caso contrario muestrame la consulta y hablamos...
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #4 (permalink)  
Antiguo 20/06/2012, 16:12
 
Fecha de Ingreso: agosto-2011
Ubicación: Santo Domingo
Mensajes: 487
Antigüedad: 13 años, 3 meses
Puntos: 31
Respuesta: Traer info de la BD a un menu de selección (listbox)

Aqui un ejemplo..

<select name="menusexo" id="menusexo">
<option selected="selected">Seleccione...</option>
<?php
$sql=mysql_query("SELECT 'sexo' FROM usuarios");

while($row=mysql_fetch_array($sql)){
echo '<option value="">'.$row['sexo'].'</option>';
?>
</select>


Saludos,
__________________
El talento se educa en la KARMA y el carácter en la tempestad.
Gabriel De Los Santos
  #5 (permalink)  
Antiguo 20/06/2012, 16:18
 
Fecha de Ingreso: mayo-2011
Ubicación: Córdoba Capital
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Traer info de la BD a un menu de selección (listbox)

Cita:
Iniciado por Heiroon Ver Mensaje
Eso en caso de que guarde el sexo como string. En caso contrario muestrame la consulta y hablamos...
Estimado, la consulta es la siguiente:

Código PHP:
if (isset ($_GET['id_paciente']))
    {
$_SESSION['id'] = $_GET['id_paciente'];     
$sql" SELECT * FROM pacientes
            WHERE id_paciente = "
.$_SESSION['id'];
$resultados mysql_query($sql) or die(mysql_error());
$usuario mysql_fetch_array($resultados); 
Por otro lado, pruebo ahora mismo tu propuesta de solución y la de gldelossantos, pero desde ya muchas gracias!
  #6 (permalink)  
Antiguo 20/06/2012, 16:46
 
Fecha de Ingreso: mayo-2011
Ubicación: Córdoba Capital
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Traer info de la BD a un menu de selección (listbox)

Muchas gracias a ambos, anda de 10 con cualquiera de las dos opciones. Una consulta que justo se me vino a la cabeza ahora pensando, yo cargo la nacionalidad del usuario, pero al igual que en los casos anteriormente explicados, las mismas las tengo cargadas yo en el codigo, pero y si las tuviera en una tabla "nacionalidad" y en la BD, en la tabla usuarios, solo se carga el ID de la nacionalidad seleccionada, ahí como hago para traer el valor al menu de selección?? Porque si no me equivoco, ahí estamos hablando de 2 consultas, una para traer los valores del usuario "X" que está registrado en la BD, y otra para traer todas las nacionalidades, o no?
  #7 (permalink)  
Antiguo 21/06/2012, 12:21
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
De acuerdo Respuesta: Traer info de la BD a un menu de selección (listbox)

No. Sería una sola consulta. Pero tienes que relacionar la tabla usuarios y la tabla nacionalidad con un id_nac.

Entonces simplemente haces una consulta que haga un INNER JOIN:

Código SQL:
Ver original
  1. SELECT u.*, n.nom_nac FROM usuarios u
  2.    INNER JOIN nacionalidad n ON u.id_nac = n.id_nac
  3.             WHERE id_paciente = ".$_SESSION['id'];

__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!
  #8 (permalink)  
Antiguo 29/01/2013, 17:20
 
Fecha de Ingreso: mayo-2011
Ubicación: Córdoba Capital
Mensajes: 15
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: Traer info de la BD a un menu de selección (listbox)

Antes que nada, se que este post tiene más de 6 meses, pero recién hoy me acordé de este post y quería avisar que ya lo había solucionado y quería informar como por si a alguien le sirve en un futuro.

Inicialmente utilicé lo que me dijiste Heiroon, pero eso solo me traia la nacionalidad del paciente. Lo que yo quería era que me traiga todas las nacionalidades, pero ya seleccionada la que estaba cargada en la BD para ese usuario, ya que si la nacionalidad estaba mal cargada, la debería poder cambiar.

Al final lo que hice fue:

De por si la página me trae toda la información de un usuario específico, así que agarre la de nacionalidad (id_nac) que tenia cargado he hice lo siguiente:

$nacionalidad = $rs['id_nac']

Hice una consulta en donde trajera todas las nacionalidades:

$sql = "SELECT * FROM nacionalidades";
$nac = mysql_query ($sql) or die (mysql_error());

Después mediante la ayuda de un while obtengo todas las nacionalidades:

<?php
while ($nacion = mysql_fetch_array ($nac))
{
?>
<option value="<?php echo $nacion['id_nac']; ?>" <?php if($nacion['id_nac'] == $nacionalidad) { echo 'selected="selected"'; }; ?>><?php echo $nacion['nacion_nombre']; ?></option>
<?php
}
?>

Como podrán ver, lo único que hice fue poner un if dentro del option, en donde le pregunto que si el ID de la obra social es igual a $nacionalidad, tons que ese sea el selected.

bueno, era solo eso, no quería dejar el tema así.


Muchas gracias como siempre.

Se vemos!

Etiquetas: bd, info, tabla, usuarios, tracker
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 12:20.