Foros del Web » Programando para Internet » PHP »

Almacemar varios valores en un mismo campo

Estas en el tema de Almacemar varios valores en un mismo campo en el foro de PHP en Foros del Web. Buenas Noches Foreros, tengo el siguiente inconveniente: tengo un listado de paises que se pueden seleccinar a través de un CheckBox, la idea es que ...
  #1 (permalink)  
Antiguo 15/10/2008, 20:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Pregunta Almacemar varios valores en un mismo campo

Buenas Noches Foreros, tengo el siguiente inconveniente:

tengo un listado de paises que se pueden seleccinar a través de un CheckBox, la idea es que los paises seleccionados se almacenen en un mismo campo de la base de datos, claro está, separados por una coma, un espacio, o algún otro caracter.

he intentado con funciones y While pero no doy para almacenar la función.

Alguien sabe que debo hacer??

Gracias por su tiempo y ayuda.
  #2 (permalink)  
Antiguo 16/10/2008, 09:34
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 17 años, 5 meses
Puntos: 49
Respuesta: Almacemar varios valores en un mismo campo

Que tal abigor66, y porque en vez de seleccionar los paises con checkbox, no utilizas un multiselect? es mas practico para lo que necesitas, ahora los paises los obtienes de tu BD? o generas solo el HTML, independientemente de esto generas el multiselect y la propiedad name la colocas como arreglo, posteriormente en tu script PHP que procesa los datos rescatas cada una de las opciones del select utilizando la función implode() y listo luego haces el insert a tu BD. Por ejemplo
Código HTML:
<select name="paises[]" multiple>
<option value="Argentina">Argentina</option>
<option value="Peru">Peru</option>
<option value="Colombia">Colombia</option>
<option value="Ecuador">Ecuador</option>
</select> 
Y en la página que procesa los datos haces esto.
Código PHP:
$paises implode(","$_POST['paises']); 
Ahora si tienes algún porblema puedes leer este post
Recoger datos de un Select Múltiple con PHP


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #3 (permalink)  
Antiguo 18/10/2008, 11:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 489
Antigüedad: 16 años, 6 meses
Puntos: 8
Respuesta: Almacemar varios valores en un mismo campo

Gracias Carlojas por tu respuesta, pero por efecto visual necesitaba que fuera CheckBox, estube leyendo y la solución estaba en el uso de array.

primero llamo la lista de paises de la BD con un While y nombro cada checkBox con números consecutivos. (i++)

para almacenarlos utilizo el siguiente código:

Código PHP:
$arreglo = array();
$x=1;
$sql mysql_query("SELECT * FROM tabla ORDER BY item");
  while (
$datos mysql_fetch_array($sql)) {
    
$arreglo[$x] = $_POST[$x];
    
$x++;
  }
$arreglo implode (', '$arreglo); 
Suerte a todos
  #4 (permalink)  
Antiguo 18/10/2008, 11:27
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Almacemar varios valores en un mismo campo

es igual de sencillo...

Código HTML:
<input type="checkbox" name="foo[]" value="A"/>
<input type="checkbox" name="foo[]" value="B"/>
<input type="checkbox" name="foo[]" value="C"/> 
y para tratarlo es casi del mismo modo que el <select/>

Código PHP:
$bar join(','array_values($_POST['foo'])); 
suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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:12.