Foros del Web » Programando para Internet » PHP »

Menú desplegable con datos de DB

Estas en el tema de Menú desplegable con datos de DB en el foro de PHP en Foros del Web. La cosa es así, yo tengo el siguiente menú desplegable en mi form: Código HTML: Barrio: <select name= "idbarrio" id= "idbarrio" > <option value= "0" ...
  #1 (permalink)  
Antiguo 14/04/2008, 12:46
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Pregunta Menú desplegable con datos de DB

La cosa es así, yo tengo el siguiente menú desplegable en mi form:
Código HTML:
      Barrio: 		<select name="idbarrio" id="idbarrio">
			  <option value="0" selected>Seleccionar</option>
			    <?php
			      $tablabarrios = mysql_query("SELECT barrios.id AS barriosid, barrios.barrio FROM barrios ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
			      while ($registrobarrio = mysql_fetch_array($tablabarrios)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
		            ?>
		    	  <option value="<?php echo $registrobarrio['barriosid']; ?>"><?php echo $registrobarrio['barrio']; ?></option>
                        <?php
	                  } // termina la zona de repeticion
	                  mysql_free_result($tablabarrios); // se libera la memoria usada por la tabla
			?>
		      </select><br /> 
Y anda perfecto, puedo añadir registros sin ningún inconveniente. Pero cuando utilizo el mismo formulario para editar, me gustaría que este <select> me mostrara la opción que ya fue elegida para ese registro al añadirlo, y por el contrario, me muestra la opción Seleccionar.

Cómo puedo lograr esto?

Gracias!
  #2 (permalink)  
Antiguo 14/04/2008, 15:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Menú desplegable con datos de DB

Hola ClickyMouse,

Debes de agregar el atributo selected="selected" a la opcion que quieras preseleccionar, te invito a que leas las FAQs del foro y ahí encontraras como hacerlo.

Saludos.
  #3 (permalink)  
Antiguo 14/04/2008, 22:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Menú desplegable con datos de DB

Estuve viendo las FAQs y no encontré lo que necesito...

No sé si me expliqué bien... Sé utilizar el atributo selected, pero no sé cómo hacerlo funcionar para que me escoja un valor de los que se cargan dinámicamente de la DB...

(El registro ya está cargado en la DB, entonces en el menú, quiero que me muestre qué opción es la que seleccioné para ese registro, cuando lo ingresé previamente a través de un formulario. O sea que es una información que va variando de acuerdo el registro, yo tengo una cierta cantidad de barrios, y capaz para el ID=1 el barrio es "Almagro", para el ID=2 es "Villa Crespo", y así sucesivamente... Entonces esto se tiene que elegir automáticamente...)

Me podrías ayudar un poquitín más?

Gracias!
  #4 (permalink)  
Antiguo 15/04/2008, 01:13
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Menú desplegable con datos de DB

Suponte que ya has hecho la consulta y entraste al formulario de edicion.

El valor que tomaste de la base de datos es $row['valor_seleccionado'], (tu pones la variable real).

Ahora agregas este código:

Código PHP:
$sel = ($registrobarrio['barriosid']==$row['valor_seleccionado']) ? ' selected="selected"' ""
Fíjate cómo queda implementado:


<select name="idbarrio" id="idbarrio">
<option value="0" selected>Seleccionar</option>
<?php
$tablabarrios = mysql_query("SELECT barrios.id AS barriosid, barrios.barrio FROM barrios ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
while ($registrobarrio = mysql_fetch_array($tablabarrios)) {
// Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
$sel = ($registrobarrio['barriosid']==$row['valor_seleccionado']) ? ' selected="selected"' : "";
?>
<option value="<?php echo $registrobarrio['barriosid']; ?>"<?= $sel ?>><?php echo $registrobarrio['barrio']; ?></option>
<?php
} // termina la zona de repeticion
mysql_free_result($tablabarrios); // se libera la memoria usada por la tabla
?>
</select><br />


Espero orientarte

Saludos
  #5 (permalink)  
Antiguo 15/04/2008, 07:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Menú desplegable con datos de DB

Muchísimas gracias!

Adapté el código y quedó de la siguiente manera:
Código HTML:
<select name="idbarrio" id="idbarrio">
      				<option value="0" selected>Seleccionar</option>
					<?php
					$tablabarrios = mysql_query("SELECT barrios.id AS barriosid, barrios.barrio FROM barrios ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
					while ($registrobarrio = mysql_fetch_array($tablabarrios)) {
					// Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
					$sel = ($registrobarrio['barriosid']==$idbarrio) ? ' selected="selected"' : "";
					?>
				<option value="<?php echo $registrobarrio['barriosid']; ?>"<?= $sel ?>><?php echo $registrobarrio['barrio']; ?></option>
					<?php
					} // termina la zona de repeticion
					mysql_free_result($tablabarrios); // se libera la memoria usada por la tabla
					?>
			</select> 
Y anda perfecto!

Ahora, el problema se me presenta con checkboxs...
Yo tengo 4 CheckBoxs para los turnos de las Escuelas: Uno para Mañana, otro para Tarde, otro para Vespertino y un último para Noche de la siguiente manera:
Código HTML:
      Mañana: 		<input name="manana" type="checkbox" value="M" /><br />

      Tarde: 		<input name="tarde" type="checkbox" value="T" /><br />

      Vespertino: 	<input name="vespertino" type="checkbox" value="V" /><br />

      Noche: 		<input name="noche" type="checkbox" value="N" /><br /> 
Éstos checkboxs, me añaden una M, T, V o N en los campos 'manana', 'tarde', 'vespertino' y 'noche'; respectivamente...
Cómo puedo lograr que aparezcan marcados, de acuerdo a si, por ejemplo el campo manana tiene una 'M' o aparezca sin marcar si el campo manana no tiene ningún valor.

Gracias de nuevo!!
  #6 (permalink)  
Antiguo 15/04/2008, 08:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Menú desplegable con datos de DB

Hola ClickyMouse,

Para los checkbox es igual, tienes que comparar y en dado caso agregarle el atributo de checked="checked".

Saludos.
  #7 (permalink)  
Antiguo 16/04/2008, 16:24
 
Fecha de Ingreso: marzo-2008
Mensajes: 73
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Menú desplegable con datos de DB

Gracias!
En estos días lo pruebo...

Saludos!
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:24.