Foros del Web » Programando para Internet » PHP »

DUda!.

Estas en el tema de DUda!. en el foro de PHP en Foros del Web. Bueno pues espero que me puedan ayudar, digamos que tengo un menu despegable y al momento de registrar una cuenta pues el valor se queda ...
  #1 (permalink)  
Antiguo 01/02/2003, 02:13
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
DUda!.

Bueno pues espero que me puedan ayudar, digamos que tengo un menu despegable y al momento de registrar una cuenta pues el valor se queda grabada en la db, pero que pasa si quiero cambiar esa variable, mostrando las otras opciones como por ejemplo:

Tengo 30 opciones, tengo seleccionada las 28 pero yo quiero cambiar este dato por la opcion 26 como podria hacer esto?.

Solo necesito saver como mostrar la variable seleccionada en el menu despegable ya de ahi yo me encargo con el update de los campos y de mas.

gracias.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #2 (permalink)  
Antiguo 01/02/2003, 15:32
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Creo que esta pregunta vendria mejor en el foro de javascript, pero aqui te paso la logica que debes seguir al desplegar tus opciones:

a)$tu_registro que esta en la BD

b) Si "opcion" es igual a $tu_registro entonces <option select>"opcion"

c) Si "opcion" no es igual a $tu_registro entonces <option>"opcion"


Saludos
__________________
Manoloweb
  #3 (permalink)  
Antiguo 01/02/2003, 16:08
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
te entenderia mejor con el codigo, solo lo elemntal la conexion y de mas no, gracias.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #4 (permalink)  
Antiguo 01/02/2003, 16:30
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

En uno de los ultimos mensajes del FAQ se comenta como hacer eso con combos de fechas. Te puede servir como comienzo.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 01/02/2003, 19:43
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
Bueno lei lo que me dijiste hermano y lo logre pero ahora presento sl siguiente problema, en el caso de manejar values de numeros no hay problema:
Código PHP:
$edad=$row["edad"];
echo 
"<select name=\"edad\">\n";
for (
$contador=12$contador <=50$contador++){
   if (
$edad==$contador){
     echo 
"<option value=\"".$contador." años.\" selected>".$contador."\n";
   }else{
     echo 
"<option value=\"".$contador." años.\">".$contador."\n";
   }
}
echo 
"</select>\n"
Pero en el caso de que el value sea una palabra?, pense que seria lago a si:
Código PHP:
$sexo=$row["edad"];
$sexo_nombres=Array(1=>"Masculino","Femenino");
echo 
"<select name=\"sexo\">\n";
for (
$contador=1$contador <=2$contador++){
   if (
$sexo==$contador){
     echo 
"<option value=\"".$contador."\" selected>".$sexo_nombres[$contador]."\n";
   }else{
     echo 
"<option value=\"".$contador."\">".$sexo_nombres[$contador]."\n";
   }
}
echo 
"</select>\n";

Pero logicamente el value es 1 y 2, como puedo hacer que los values sean Masculino y Femenino y no 1 y 2, gracia spor su tiempo, saludos.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #6 (permalink)  
Antiguo 01/02/2003, 20:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para el caso de cadenas (strings) .. y usando arrays como es tu caso .. Emplea mejor un blucle foreach para recorrer dicho array .. El cual no hace mas q extrar en cada pasada del bucle un elemento (correlativo) del array hasta su último elemento ..

Código PHP:
$sexo=$row["sexo"];
$sexo_nombres=Array("Masculino","Femenino");
echo 
"<select name=\"sexo\">\n";
foreach (
$sexo_nombres as $sex){
   if (
$sexo==$sex){
     echo 
"<option value=\"".$sexo."\" selected>".$sexo."\n";
   }else{
     echo 
"<option value=\"".$sexo."\">".$sexo."\n";
   }
}
echo 
"</select>\n";

En tu caso .. no te funcinoba porque estabas comparando en el IF .. una cadena ($sexo .. ) con el $contador q es numero .. Deberias usar el elemento q corresponda a ese indice en el array ..

Código PHP:
$sexo=$row["sexo"];
$sexo_nombres=Array(1=>"Masculino","Femenino");
echo 
"<select name=\"sexo\">\n";
for (
$contador=1$contador <=2$contador++){
   if (
$sexo==$sexo_nombres[$contador]){  // <--------
     
echo "<option value=\"".$contador."\" selected>".$sexo_nombres[$contador]."\n";
   }else{
     echo 
"<option value=\"".$contador."\">".$sexo_nombres[$contador]."\n";
   }
}
echo 
"</select>\n";

Si necesitas que tu "value" de tus options sea "1" y "2" .. usa el 2º código (el tuyo con el detalle q te comenté ..). Si necesitas el "value" de tus options como "Masculino" y "Femenino" .. usa el primer código ...

Tambien asegurate que siempreee tus cadenas (strings) a comparar sean iguales .. Si una es "Femenino" y la otra es "femenino" (la del array por ejemplo y la otra la de tu campo de tu BD) siempre te dará el caso "else" del IF ..

Una solución a esto (si es q no sabes como puede llegar tu cadena de tu BD) es convertirlo a minusculas por ejemplo amabas cadenas (el array lo tienes en minusculas por defecto .. y tu $row['sexo'] .. lo pasas a minusculas via strtolower() ...)

Un saludo,
  #7 (permalink)  
Antiguo 01/02/2003, 21:09
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
Bueno quedo bien en el caso de los values pero ahora en el else me muestra tambien Masculino cuando deberia ser Femenino.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #8 (permalink)  
Antiguo 01/02/2003, 21:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Que código estas usando ..?

que valor tienen las variables usas? .. tienes en cuenta lo que comenté acerca de que han de ser "Iguales" .. y no "iguales" .. por ejemplo?

Un saludo,
  #9 (permalink)  
Antiguo 01/02/2003, 21:25
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
sip, tengo pendiente eso, estoy utilizando el primero pero para que veas hermano:
<select name="sexo">
<option value="Masculino" selected>Masculino
<option value="Masculino">Masculino
</select>
la verdad es que quedo bien solo que el Else deberia de mostrar femenino en ese caso deberia quedar a si:

<select name="sexo">
<option value="Masculino" selected>Masculino
<option value="Femenino">Femenino
</select>

saludos y muchas gracias por tu ayuda cluster.
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #10 (permalink)  
Antiguo 01/02/2003, 21:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con razon te daba lo mismo .. estaba imprimiendo $sexo .. y no $sex q es lo q deberia .. Fué un despieste mio .. pero igual tienes que poner algo de tu parte y estudiar el código que se te puso .. talvez lo hubieras visto tu ....

Código PHP:
$sexo=$row["sexo"];
$sexo_nombres=Array("Masculino","Femenino");
echo 
"<select name=\"sexo\">\n";
foreach (
$sexo_nombres as $sex){
   if (
$sexo==$sex){
     echo 
"<option value=\"".$sex."\" selected>".$sex."\n";
   }else{
     echo 
"<option value=\"".$sex."\">".$sex."\n";
   }
}
echo 
"</select>\n"
Un saludo,
  #11 (permalink)  
Antiguo 01/02/2003, 22:01
Avatar de WyLY  
Fecha de Ingreso: enero-2002
Ubicación: Cancun, México.
Mensajes: 503
Antigüedad: 15 años, 10 meses
Puntos: 6
My bad.

gracias
__________________
Maquila Web. Programando Ideas Online.
Servicio de Programación Web
Desarrollo y Programación para Diseñadores y Empresas.
  #12 (permalink)  
Antiguo 02/02/2003, 15:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Mira que equivocarse con el sexo ;)
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 13:51.