Foros del Web » Programando para Internet » PHP »

Crear un select a partir de un array

Estas en el tema de Crear un select a partir de un array en el foro de PHP en Foros del Web. Buenas ! Pues vereis, lo que pretendo hacer es muy básico pero de verdad que no me sale ! Si pudiérais arreglarme el código, que ...
  #1 (permalink)  
Antiguo 16/01/2012, 14:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 65
Antigüedad: 12 años, 11 meses
Puntos: 3
Crear un select a partir de un array

Buenas ! Pues vereis, lo que pretendo hacer es muy básico pero de verdad que no me sale ! Si pudiérais arreglarme el código, que sé que será bastante sencillo lo agradecería mucho! Veamos, estoy creando una base de datos con datos sobre modelos de ropa. Los datos que he puesto son básicos pero me sirve de momento. La cuestión es que cuando se crea el select con las options, solamente me muestra una! Es decir, me sale un option solamente con 'Adriana Lima', cuando me tendría que salir también el de Paddy.

He probado de mil formas y la verdad esque esta es la única que me da un mínimo resultado, es decir, que me muestra texto dentro del select.

Aqui es donde tengo las class y functions
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Models {
  4.  
  5.     // Iniciamos los array para cada aspecto del modelo/actor.
  6.  
  7.     private $modelName = array();
  8.     private $modelSex = array();
  9.     private $modelHair = array();
  10.     private $modelEyes = array();
  11.     private $modelAgency = array();
  12.     private $modelHeight = array();
  13.     private $modelPopularity = array();
  14.     private $modelHairColor = array();
  15.     private $modelAge = array();
  16.     private $modelImage = array();
  17.  
  18.     function getModel($name, $sex, $hair, $hairc, $eyes, $agen, $height, $popu, $age, $image) {
  19.  
  20.         // Esta función toma los valores y los coloca para que el otro archivo los meta en el array.
  21.  
  22.         $this -> modelName[] = $name;
  23.         $this -> modelSex[] = $sex;
  24.         $this -> modelHair[] = $hair;
  25.         $this -> modelHairColor[] = $hairc;
  26.         $this -> modelEyes[] = $eyes;
  27.         $this -> modelAgency[] = $agen;
  28.         $this -> modelHeight[] = $height;
  29.         $this -> modelPopularity[] = $popu;
  30.         $this -> modelAge[] = $age;
  31.         $this -> modelImage[] = $image;
  32.  
  33.     }
  34.  
  35.     function showBD() {
  36.  
  37.         // Esta función muestra un select con todos los nombres de cada modelo.
  38.  
  39.         for ($i = 0; $i < count($this -> modelName); $i++) {
  40.  
  41.             $nameoption = '<option value="' . $this -> modelName[$i] . '">' . $this -> modelName[$i] . '</option>';
  42.  
  43.         }
  44.  
  45.         echo 'Búsqueda de modelo.';
  46.         echo '<form action="" method"GET"><select name="name">' . $nameoption . '</select></form>';
  47.  
  48.     }
  49.  
  50. }
  51. ?>

Y aqui los array

Código PHP:
Ver original
  1. <?php
  2.  
  3. include ("classmodels.php");
  4.  
  5. // NOMBRE, GÉNERO, ESTILO DE CABELLO, COLOR DE CABELLO, COLOR DE OJOS, AGENCIA, ALTURA, POPULARIDAD, EDAD, IMAGEN.
  6.  
  7. $models = new Models();
  8. $models -> getModel('Paddy Mitchell', 'Male', 'Short', 'Dark Blonde', 'Blue', 'FTAPE', '188cm.', 'NODATA', 'NODATA', 'http://');
  9. $models -> getModel('Adriana Lima', 'Female', 'Long', 'Black', 'NODATA', 'NODATA', 'NODATA', 'NODATA', 'NODATA', 'http://');
  10. $models -> showBD();
  11. ?>

Gracias por adelantado!
  #2 (permalink)  
Antiguo 16/01/2012, 14:37
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Crear un select a partir de un array

Sin ver detalladamente el código, creo que el problema está en:

$nameoption =

Que debería ser $nameoption .=

ya que sólo estás asignando una y otra vez un valor distinto a $nameoption en vez de ir agregando texto.
  #3 (permalink)  
Antiguo 16/01/2012, 14:49
 
Fecha de Ingreso: mayo-2011
Mensajes: 65
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Crear un select a partir de un array

Cita:
Iniciado por ocp001a Ver Mensaje
Sin ver detalladamente el código, creo que el problema está en:

$nameoption =

Que debería ser $nameoption .=

ya que sólo estás asignando una y otra vez un valor distinto a $nameoption en vez de ir agregando texto.
Muchísimas gracias ! Ya me acabas de enseñar algo de PHP, porque llevo programando poco tiempo y no sabía exactamente que debía poner .=
De hecho incluso probé a crear $nameoption como un array a ver si me almacenaba varios pero como no lo hacía desistí.

Gracias ;)!

Etiquetas: bucle, contenido, select
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:52.