Foros del Web » Programando para Internet » PHP »

Introducir select options en una cadena.

Estas en el tema de Introducir select options en una cadena. en el foro de PHP en Foros del Web. Saludos a todos, este foro me ha servido de mucha ayuda siempre y por fin me animo a registrarme, el motivo es que estoy un ...
  #1 (permalink)  
Antiguo 05/07/2011, 16:49
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Introducir select options en una cadena.

Saludos a todos, este foro me ha servido de mucha ayuda siempre y por fin me animo a registrarme, el motivo es que estoy un poco desesperado con un problema que me ha surgido:

Quiero saber si es posible, introducir TODOS los valores de un select, en una cadena.
Cuando digo todos, es todos, no solo los que estan seleccionados... Es decir:

<select>
<option>Zaragoza</option>
<option>Madrid</option>
<option>Sevilla</option>
</select>

Quiero introducir a Zaragoza, Madrid y Sevilla en una cadena.
El objetivo es luego poder recorrer esta cadena para poder ir insertando cada campo a mi base de datos, estoy bastante desquiciado... A ver si me podeis echar un cable.
Gracias de antemano.
  #2 (permalink)  
Antiguo 05/07/2011, 16:54
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Introducir select options en una cadena.

Hola que tal Valkirios bienvenido al foro.

Lo que deseas hacer es muy fácil en base al valor de los selects
ejemplo:

Código PHP:
Ver original
  1. echo<select>;
  2. echo<option value= Zaragoza, Madrid , Sevilla >Zaragoza</option>;
  3. eche “<option value= Zaragoza, Madrid , Sevilla >Madrid</option>
  4. echo<option value= Zaragoza, Madrid , Sevilla >Sevilla</option>;
  5. echo</select>;

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 05/07/2011, 17:00
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Introducir select options en una cadena.

No me he explicado lo suficiente:
El select tendra un numero de options dinamico en funcion del numero de datos que yo le pase previamente con otro formulario, es decir, puede tener 1 solo option o puede tener 58.
Mi pregunta es como poder almacenarlos todos independientemente del numero que sean, en una sola variable o cadena.
Lo siento y gracias a la vez por tu rapida respuesta
  #4 (permalink)  
Antiguo 05/07/2011, 17:03
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Introducir select options en una cadena.

Cita:
Iniciado por Valkirios Ver Mensaje
No me he explicado lo suficiente:
El select tendra un numero de options dinamico en funcion del numero de datos que yo le pase previamente con otro formulario, es decir, puede tener 1 solo option o puede tener 58.
Mi pregunta es como poder almacenarlos todos independientemente del numero que sean, en una sola variable o cadena.
Lo siento y gracias a la vez por tu rapida respuesta
¿Vas a utilizar base de datos?
¿O de qué manera lo arias dinámico?
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 05/07/2011, 17:04
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Introducir select options en una cadena.

Si, el objetivo de almacenarlos en una cadena es para luego ir insertandolos en una base de datos.
  #6 (permalink)  
Antiguo 05/07/2011, 17:05
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Introducir select options en una cadena.

haz un bucle y usa Arrays con los datos (si es con la consulta ya lo tienes)
Concatenas y fuera.

Un ejemplo:
Lo puse con for porque supongo estás empezando, pero ya tu lo cambias si quieres con un for each o lo que te guste más.

Código PHP:
    $arr=array('Madrid','Zaragoza','Sevilla');
    echo 
'<select>';
    for(
$i=0;$i<count($arr);$i++)
    echo 
'<option value="'.$arr[$i].'">'.$arr[$i].'</option>';
    echo 
'</select>'
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #7 (permalink)  
Antiguo 05/07/2011, 17:08
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Introducir select options en una cadena.

Cita:
Iniciado por Valkirios Ver Mensaje
Si, el objetivo de almacenarlos en una cadena es para luego ir insertandolos en una base de datos.
Creo que no me di a explicar.

¿Cómo vas a hacer esto? El select tendrá un numero de options dinámico en función del número de datos que yo le pase previamente con otro formulario, es decir, puede tener 1 solo opción o puede tener 58.
A lo que me refiero es que si para llenar las opciones del select será en base a una consulta sql o ¿cómo?

Explica un poco más a detalle
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #8 (permalink)  
Antiguo 05/07/2011, 17:09
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Introducir select options en una cadena.

Cita:
Iniciado por skiper0125 Ver Mensaje
Creo que no me di a explicar.

¿Cómo vas a hacer esto? El select tendrá un numero de options dinámico en función del número de datos que yo le pase previamente con otro formulario, es decir, puede tener 1 solo opción o puede tener 58.
A lo que me refiero es que si para llenar las opciones del select será en base a una consulta sql o ¿cómo?

Explica un poco más a detalle
Dicho número será el número de registros que le de la consulta. No hay tanto lío.
Sólo debe usar el array devuelto y hacer un bucle para crear el select.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #9 (permalink)  
Antiguo 05/07/2011, 17:10
Avatar de gilbertopineda  
Fecha de Ingreso: julio-2011
Ubicación: Santiago de cali, Colombia
Mensajes: 10
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Introducir select options en una cadena.

Hola Valkirios, según te entiendo, una opción sería que uses Javascript para que al momento de enviar los datos del formulario puedas recorrer el SELECT y concatenar lo valores de sus OPTIONS y no se... poner el resultado en un campo oculto y ya luego con PHP procesas esa información.
  #10 (permalink)  
Antiguo 05/07/2011, 17:15
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Introducir select options en una cadena.

Lo primero Gracias a todos.
Lo segundo, IEKK me ha dado una muy buena idea y es el dar un valor dinamico a cada uno de los option, es decir
el option zaragoza quedaria con el valor 0
el option madrid quedaria con el valor 1... y asi

Ahora, eso de javascript lo estaba probando, te viene a la cabeza alguna forma de recoger esos option en funcion de su value gilbertopineda?
  #11 (permalink)  
Antiguo 05/07/2011, 17:19
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Introducir select options en una cadena.

Cita:
Iniciado por Valkirios Ver Mensaje
Lo primero Gracias a todos.
Lo segundo, IEKK me ha dado una muy buena idea y es el dar un valor dinamico a cada uno de los option, es decir
el option zaragoza quedaria con el valor 0
el option madrid quedaria con el valor 1... y asi

Ahora, eso de javascript lo estaba probando, te viene a la cabeza alguna forma de recoger esos option en funcion de su value gilbertopineda?
Se ve que no has probado para nada el código que te di, ya que no añade un valor numérico al value, sino el nombre de la ciudad, por tanto cuando hagas el submit al formulario ya tienes el dato seleccionado por el usuario.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #12 (permalink)  
Antiguo 05/07/2011, 17:25
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Introducir select options en una cadena.

Que va IEKK para nada, es verdad que en tu codigo se le asigna el mismo nombre al value que al text, pero lo he modificado yo para que al value se le asigne un numero y al text un texto (Eso no quita que la idea me la hayas dado tu).

Estoy probando con javascript y no se si ando bien encaminado....

Código Javascript:
Ver original
  1. var cadena = form.combo1.options;
  2.     alert(cadena[combo1.option.value[0].text]);

Lo que pretendo hacer es un alert que me diga que texto hay en el option con value 0.
  #13 (permalink)  
Antiguo 05/07/2011, 17:38
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 2 meses
Puntos: 155
Respuesta: Introducir select options en una cadena.

No estoy muy seguro de esta onda que pides pero me surgen algunas dudas, si el select es dinamico , es por que es generado de una bd , a la que supongo tu tienes acceso, ahora si es asi no entiendo muy bien por que es que quieres mandar ese select , o por que un select si quieres usar todos los datos?, estaria muy bueno ver el codigo que te genera tu select y una explicacion del por que hacer esto que pides , a lo mejor se le puede dar una solución mas óptima
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #14 (permalink)  
Antiguo 05/07/2011, 17:39
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: Introducir select options en una cadena.

Te dejo el value en número si es lo que quieres

Código PHP:
    $arr=array('Madrid','Zaragoza','Sevilla');
    echo 
'<select>';
    for(
$i=0;$i<count($arr);$i++)
    echo 
'<option value="'.$i.'" onclick="mostrar(this.value)">'.$arr[$i].'</option>';
    echo 
'</select>'
Recuerda cambiar el name del select y del formulario por el tuyo para que funcione.
Código Javascript:
Ver original
  1. <script language="javascript">
  2. function mostrar(valor)
  3. {
  4.     alert(document.formulario.elSelect.options[valor].value);
  5. }
  6. </script>

Obviamente se peude simplicar mucho más, pero para que te hagas a la idea.
Sorry hasta aquí llego, ya es tarde, mañana hay que trabajar.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #15 (permalink)  
Antiguo 06/07/2011, 02:12
 
Fecha de Ingreso: julio-2011
Mensajes: 17
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Introducir select options en una cadena.

Muchas graias IEKK, me resolviste el cacao mental que tenía en la cabeza, finalmente para optimizar un poco más el código le di una vuelta mas a la tuerca y genere lo que necesitaba en jquery.
Un placer y gracias a todos.

Etiquetas: introducir, 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:27.