Foros del Web » Programando para Internet » PHP »

Ayuda para insertar valores de un check

Estas en el tema de Ayuda para insertar valores de un check en el foro de PHP en Foros del Web. Buenas,tengo un form con un check box idioma. este check box lo tengo definido asi: <input name="to_lang[]" type="checkbox" value="de"> <input name="to_lang[]" type="checkbox" value="es"> <input name="to_lang[]" ...
  #1 (permalink)  
Antiguo 20/11/2005, 12:28
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Ayuda para insertar valores de un check

Buenas,tengo un form con un check box idioma. este check box lo tengo definido asi:

<input name="to_lang[]" type="checkbox" value="de">
<input name="to_lang[]" type="checkbox" value="es">
<input name="to_lang[]" type="checkbox" value="it">
<input name="to_lang[]" type="checkbox" value="cat">

la idea es insertar en el campo idioma de la bd, estos valores. pero lo ideal es que se pudiera hacer una concantacion de los valores.por ejemplo, si un usuario selecciona de y es, que en el campo idioma apareciese:

de,es

tengo esto:

foreach ($_POST['to_lang'] as $id)
{
$idioma= $id."\n";
}

pero solo me inserta uno de los valores...

que hago mal??

salu2
  #2 (permalink)  
Antiguo 20/11/2005, 13:46
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
El problema es que reemplaza la variable cada vez que se ejecuta el foreach. Podés solucionarlo fácil: primero lo seteas como vacío y cada vez que se ejecuta se agrega al final (con .=) el valor.

Código PHP:
$idioma "";
foreach (
$_POST['to_lang'] as $id)
{
$idioma .= $id."\n";

  #3 (permalink)  
Antiguo 20/11/2005, 14:05
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
muchisimas gracias Seppooo!! justamente era eso lo que me pasaba.un consejillo más, quiero que se inserte de la siguiente manera...

de,es,cat....

he puesto "," en vez de \n, y me guarda lo siguiente:

de,es,cat,....

salu2
  #4 (permalink)  
Antiguo 20/11/2005, 14:11
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
En realidad, yo lo haría de otra forma

Código PHP:
if (count($_POST['to_lang']) > 1) { // si hay más de uno
  
$idioma implode(",",$_POST['to_lang']); // que me los una con coma
} else {
  
$idioma $_POST['to_lang'][0]; // si hay 1 me guarda ese valor en idioma, y si no hay ninguno me guarda idioma vacío

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 12:55.