Foros del Web » Programando para Internet » PHP »

manejo de campos select php

Estas en el tema de manejo de campos select php en el foro de PHP en Foros del Web. Hola que tal, necesito que al cargar los datos de un cliente cualquiera de mi Bd estos se cargen en formulario, obviamente ya se como ...
  #1 (permalink)  
Antiguo 26/01/2009, 14:48
 
Fecha de Ingreso: febrero-2006
Mensajes: 58
Antigüedad: 18 años, 2 meses
Puntos: 0
manejo de campos select php

Hola que tal, necesito que al cargar los datos de un cliente cualquiera de mi Bd estos se cargen en formulario, obviamente ya se como meter estos datos al campos text, textarea, pero no se como meter uno de estos datos a un campo select.


ojo que con un formulario tipico guarde los datos en mi base de datos.

Ejemplo no mas... formulario de Envio
Código HTML:
<form name='miformulario'>

  <input type='text' name='nombre'>

  <select name='sexo'>
      <option value='m'>Masculino</option>
      <option value='f'>femenino</option>
  </select>

  <textarea name='mensaje'></textarea>

  <input type='button' value='Enviar' onclick='guardardatos()'>

</form> 
ahora cuando saco los valores de la Bd los meto así

formulario de modificacion...
Código PHP:
........
....
.
$nombre=$row['nombre'];
$mensaje=$row['mensaje'];
$sexo=$row['sexo'];

echo 
"
<form name='miformulario'>

  <input type='text' name='nombre' value='$nombre'>

  <select name='sexo'>
      <option value='m'>Masculino</option>
      <option value='f'>femenino</option>
  </select>

  <textarea name='mensaje'>$mensaje</textarea>

  <input type=button' value='Modificar' onclick='modificarDatos()'>

</form>"

como le asigno el sexo al item???

ya se que se puede dejar un titem predefinido con el atributo "SELECTED" pero imaginense para campos select que tengan 20, 40 o mas item, serian una Barbaridad de if, else...

Otra cosa, no me sirve cambiar el item en javaScript (eso ya lo se) porque estoy usando la tecnica Ajax, por lo tando el formulario de modificación se ejecuta todo en server...
  #2 (permalink)  
Antiguo 26/01/2009, 14:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: manejo de campos select php

Hola geminis19,

Efectivamente es como indicas, agregar el atributo "selected", pero como dices es ineficiente hacer varios ifs/else, por lo que lo mejor es guardarlos en un arreglo y ciclarlos con un foreach() y así vas comparando.

Código php:
Ver original
  1. $opciones = array("Masculino", "Femenino");
  2. foreach($opciones as $sexo) {
  3.        if( $sexo == $seleccionado ) {
  4.                 echo "<option value=\"$sexo\" selected=\"selected\">";
  5.        } else {
  6.                 echo "<option value=\"$sexo\">";
  7.        }
  8. }

Saludos
  #3 (permalink)  
Antiguo 27/01/2009, 15:52
 
Fecha de Ingreso: febrero-2006
Mensajes: 58
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: manejo de campos select php

Cita:
Iniciado por GatorV Ver Mensaje
Hola geminis19,

Efectivamente es como indicas, agregar el atributo "selected", pero como dices es ineficiente hacer varios ifs/else, por lo que lo mejor es guardarlos en un arreglo y ciclarlos con un foreach() y así vas comparando.

Código php:
Ver original
  1. $opciones = array("Masculino", "Femenino");
  2. foreach($opciones as $sexo) {
  3.        if( $sexo == $seleccionado ) {
  4.                 echo "<option value=\"$sexo\" selected=\"selected\">";
  5.        } else {
  6.                 echo "<option value=\"$sexo\">";
  7.        }
  8. }

Saludos


Código:
while(true)
  echo "Gracias";
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 14:35.