Foros del Web » Programando para Internet » PHP »

Establecer Contenido de un Menu Select

Estas en el tema de Establecer Contenido de un Menu Select en el foro de PHP en Foros del Web. Hola a todos, tengo una duda, tenemos un menu select con sus valores definidos. Código PHP: < option value = "Uno" > 1 < value = ...
  #1 (permalink)  
Antiguo 06/03/2007, 10:13
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 10 meses
Puntos: 2
Establecer Contenido de un Menu Select

Hola a todos, tengo una duda, tenemos un menu select con sus valores definidos.

Código PHP:
<option value="Uno">1<value="Uno">
<
option value="Dos">2<value="Dos">
<
option value="Tres">3<value="Tres"
Y tenemos en una base de datos almacenado en una variable el valor "TRES" (por ejemplo).

Como podemos hacer, cuando mostremos una pagina php, el valor que se muestra del menu select que por defecto sera siempre el primero ("Uno"), sea el valor de la variable que esta almacenada en la base de datos ("Tres")?
  #2 (permalink)  
Antiguo 06/03/2007, 10:23
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: Establecer Contenido de un Menu Select

Esta es la solucion:

en $var debe almanecenar el valor que tiene que salir por defecto,

<option value="Uno" if ($var == "Uno") echo " selected";?>>1
<option value="Dos" if ($var == "Dos") echo " selected";?>>2
<option value="Tres" if ($var == "Tres") echo " selected";?>>3

Debe dejar el espacio en blanco porque puede ser que la palabra "selected" quede apegada al valor del parametro.
  #3 (permalink)  
Antiguo 06/03/2007, 10:36
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
De acuerdo Re: Establecer Contenido de un Menu Select

hola makeitslow, es muy fàcil.

Primero, debes hacer una consulta en mysql sobre el registro q tiene el dato que necesitas, en este caso el numero 3.

Cuando la consulta es efectuada exitosamente, haces un $row=mysql_fetch_assoc($resultdo_de_la_consulta), para traer la variable del registro. Hasta ahí bien.

Cuando ya tienes esto, preguntas dentro de los option, ten claro que lo que haces es un for para determinar el value de los option:

if($i==$row['el_numero_que_necesitas'])
{
echo "selected";
}

Y listo, espero t sirva....

PDT: la opciòn que te dan arriba, es lo mismo, sòlo que la que yo te doy no tienes que estar preguntando "if".

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 07/03/2007, 12:18
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 10 meses
Puntos: 2
Re: Establecer Contenido de un Menu Select

Muchas gracias por la respuesta Carlx y Javista, tu respuesta Carlx, en realidad hace una consulta en la BD no? Para numeros... pero son valores estaticos, de todos modos en que parte es que se selecciona en el menu select el valor que estoy buscando??
en el echo??

Código PHP:
echo "selected"
Por que en realidad estoy tratando de escoger un valor de tipo texto (CUALQUIERA) que esta en la lista y ese valor esta en la BD.

Tengo:

Código PHP:
<tr
<
td>
<
div align="right"><font color="#000066" size="3" face="Berlin Sans FB">Grado de Estudios:</font>
</
div>
</
td>

<
td colspan="2"><font color="#000066" face="Berlin Sans FB"

<
select name="gradocs" size="1">
<
option value="Primaria">Primaria</option>
<
option>Secundaria</option>
<
option>Universidad</option>
<
option>Licenciatura</option>
<
option>Ingenieria</option>
<
option>Otros</option>
</
select></font>
</
td>
</
tr
Los valores de este SELECT MENU son PRIMARIA, SECUNDARIA, UNIVERSIDAD, LICENCIATURA, INGENIERIA y OTROS, cada vez que se carga la pagina se mostrara siempre el primero, o sea PRIMARIA, lo que quiero es que se muestre el valor correspondiendo de alguna variable que puede ser cualquiera de la lista. Lo que me diste suena bien, pero podria hacerlo asignando el valor de la consulta a una variable no? Por que como me aclaraste, puedo hacer una consulta buscando el valor de SECUNDARIA (Por ejemplo) y lo asigno a una variable. Luego que hago para que el valor de esa variable lo compare con los que estan en el menu SELECT y lo escoja para mostrarlo en vez del primero (o sea PRIMARIA)?

Esto lo necesitaba para cuando cargaba el KARDEX de alguien y me muestre sus datos ya ingresados a la BD. Pero el detalle es que los datos que esta en un MENU SELECT no se muestran, en lugar de eso se muestran los datos por defecto o sea los primeros en la lista.

GRACIAS POR SU ATENCION!
  #5 (permalink)  
Antiguo 07/03/2007, 13:07
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Re: Establecer Contenido de un Menu Select

Hola de nuevo makeitslow.

Sí. efectivamente haces lo que necesitas, asígnando a una variable a lo que encontraste en tu consulta. Hasta ahí bien no?

Se supone que ya tienes el valor "3" en una variable, supongamos
Código PHP:
$row['variable'
. Ok, esto sería consulta 1?

Debes, hacer otra consulta, para traer los registros, que se comportan como fk en el el registro que quieres cargar. Esto sería consulta 2, que cargaría todos los registros en una arreglo que denominaremos $rew[], listo?.

Cuando recorras la DB con la consulta 2, para hacer los option, lo recorres con un mysql_fetch_assoc. como te dije antes. Vamos bien.

Pones algo parecido a esto:

Código HTML:
<option value="el_valor_de_tu_pk_de_la_consulta_2" [COLOR="Red"]if($row['variable']==$rew['el_valor_de_tu_pk_de_la_consulta_2']){echo "selected"}[/COLOR]>El nombre del registro</option> 
y listo....
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 07/03/2007, 14:57
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Exclamación Re: Establecer Contenido de un Menu Select

Lo que està en color naranja, es php no??, por lo que debes encerrarlo en etiqueta php, es que se me olvidò advertirte.

Saludos, espero t halla aclarado, sin embargo, si quieres despuès t posteo un ejemplo.

Por ahora, dale duro no??
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #7 (permalink)  
Antiguo 07/03/2007, 21:36
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 10 meses
Puntos: 2
Re: Establecer Contenido de un Menu Select

Gracias por la aclaracion Carlx.... tu estructura IF me sirvio de mucho, lo que tengo que hacer para marcar el valor de un MENU SELECT con el valor de una variable es nada mas comparar el valor de esa variable con el valor del menu, lo que me quedo fue asi:

Código PHP:
<select name="gradocs" size="1">
<option value="Primaria"
<? if($registro['GRADO_ESTUDIOS_CS']=="Primaria")
{
echo 
"selected";
}
?>>Primaria</option>

<option
<? if($registro['GRADO_ESTUDIOS_CS']=="Secundaria")
{
echo 
"selected";
}
?>>Secundaria</option>
<option
<? if($registro['GRADO_ESTUDIOS_CS']=="Universidad")
{
echo 
"selected";
}
?>>Universidad</option>
<option
<? if($registro['GRADO_ESTUDIOS_CS']=="Licenciatura")
{
echo 
"selected";
}
?>>Licenciatura</option>
<option
<? if($registro['GRADO_ESTUDIOS_CS']=="Ingenieria")
{
echo 
"selected";
}
?>>Ingenieria</option>
<option
<? if($registro['GRADO_ESTUDIOS_CS']=="Otros")
{
echo 
"selected";
}
?>>Otros</option>
</select>
Donde $registro['GRADO_ESTUDIOS_CS'] es un arreglo con todos los valores de una consulta a un registro.

Y de la misma manera es para un RADIO BUTTON:

Código PHP:
<input type="radio" name="estadocivil" value="Soltero"
          <? if($registro['ESTADO_CIVIL_CS']=="Soltero")
            {
            echo 
"checked";
            }
            
?>>
  #8 (permalink)  
Antiguo 08/03/2007, 09:46
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Exclamación Re: Establecer Contenido de un Menu Select

No tienes "primaria", "secundaria", "universidad" como datos de una tabla, y con susurespecticas pk???, por que si lo tienes así, te evitarìas todo ese larguero que pusiste. Pero sino tienes la DB como t digo si te tocarìa dejarlo así.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #9 (permalink)  
Antiguo 08/03/2007, 10:21
 
Fecha de Ingreso: enero-2007
Ubicación: Cochabamba - Bolivia
Mensajes: 346
Antigüedad: 17 años, 10 meses
Puntos: 2
Re: Establecer Contenido de un Menu Select

Pues los valores de PRIMARIA, SECUNDARIA, ETC estan en el MENU SELECT y en otro PHP es donde se registra a un usuario asignandole ese valor a un campo. Luego para mostrar sus datos utilizo el mismo PHP es solo llenando los textfields y demas con sus datos, lo que no podia hacer era poner sus datos correspondientes a los MENU SELECT pero con tu iteracion y tu estructura de control lo hice. No hay otra tabla con esos datos ni PKs... Solo son valores de campos. Bueno, GRACIAS otra vez ya resolvi mi problem. 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.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:40.