Foros del Web » Programando para Internet » PHP »

Varios Checkbox... tema trillado

Estas en el tema de Varios Checkbox... tema trillado en el foro de PHP en Foros del Web. Hola... escribo tema trillado porque ya me he recorrido casi todo el foro y encuentro soluciones parecidas a lo que necesito... pero no se como ...
  #1 (permalink)  
Antiguo 30/09/2004, 18:41
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 13 años, 3 meses
Puntos: 1
Mensaje Varios Checkbox... tema trillado

Hola... escribo tema trillado porque ya me he recorrido casi todo el foro y encuentro soluciones parecidas a lo que necesito... pero no se como aplicar la solución.

Tengo varios checkbox del mismo nombre en mi formulario (METHOD="POST" ACTION="add_reg6.php3") asi:

<INPUT TYPE="CHECKBOX" NAME="gusto[]">Pollo Asado
<INPUT TYPE="CHECKBOX" NAME="gusto[]">Sopa de Pollo
<INPUT TYPE="CHECKBOX" NAME="gusto[]">Arroz con Pollo
<INPUT TYPE="CHECKBOX" NAME="gusto[]">Crema de Pollo
<INPUT TYPE="CHECKBOX" NAME="gusto[]">Ensalada de Pollo

Cuando el visitante seleccione 2 o 3 o todos... necesito que esa información llegue a mi DB (en MySQL) separada por comas o por guiones pero en la misma fila que he denominado "Gusto".

Tengo asi el archivo add_reg6.php3:

<HTML>
<BODY><?PHP // process form
$link = mysql_connect("localhost", "usuario","passw"); mysql_select_db("base_de_datos",$link);
$sql = "INSERT INTO tabla1 (Date, Name, Age, Nationality, Gusto) ".
"VALUES ('$date', '$name', '$age', '$nationality', '$gusto')";
$result = mysql_query($sql);
echo "¡Gracias! Hemos recibido sus datos.\n";


?>
</BODY>
</HTML>

Ok... Creo que la solución es introducir en php:

foreach ($_POST['gusto'] as $indice => $valor){
echo "indice: ".$indice." => ".$valor."<br>";
}

Pero la pregunta del millón es en que parte exactamente lo debo ingresar y que siga apareciendo el mensaje de confirmación: "Gracias hemos..." ... tambien pregunto si en mi Base de Datos (en MySQL - Manejada por phpMyAdmin) en la fila "Gusto" debo poner alguna característica para que este campo reciba los datos en cuestion.

Muchas gracias !
Martin
  #2 (permalink)  
Antiguo 30/09/2004, 19:03
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 14 años, 7 meses
Puntos: 35
loading............


Bueno lo primero.

Dale valores a tus checkbox

Código PHP:
<INPUT TYPE="CHECKBOX" NAME="gusto[]" value='Pollo Asado'>Pollo Asado
<INPUT TYPE="CHECKBOX" NAME="gusto[]" value='Sopa de Pollo'>Sopa de Pollo 
Una vez hecho eso y que pases en el form los datos los recoges con implode


Código PHP:
$los_gustos  implode(",",$_POST['gusto']); 
Están separadas por COMAS solo cambia la coma por lo que quieras que esten separadas.
Entonces luego solo lo instroduces.

Código PHP:
$link mysql_connect("localhost""usuario","passw"); mysql_select_db("base_de_datos",$link);
$sql "INSERT INTO tabla1 (Date, Name, Age, Nationality, Gusto) ".
"VALUES ('$date', '$name', '$age', '$nationality', '$los_gustos')";
$result mysql_query($sql);
echo 
"¡Gracias! Hemos recibido sus datos.\n"


connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 30/09/2004, 20:03
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 13 años, 3 meses
Puntos: 1
Gracias MaBoRaK. Pero como no tengo experiencia... te pregunto: el segundo código php que me estás enviando

$los_gustos = implode(",",$_POST['gusto']);

lo debo guardar en un nuevo archivo o en que parte del form o del add_reg6.php3 lo debo pegar...?

Por favor... si es en un nuevo archivo, me podrías enviar el código completo?

Gracias!
Martine
  #4 (permalink)  
Antiguo 01/10/2004, 15:14
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 14 años, 7 meses
Puntos: 35
loading........


Pegala en el archivo donde haces la consulta a mySQL


connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 15/11/2004, 17:36
 
Fecha de Ingreso: septiembre-2004
Mensajes: 362
Antigüedad: 13 años, 3 meses
Puntos: 1
Hola de nuevo...

Todo me funcionó bien... muchas gracias ahora el caso es que tengo que en el mismo formulario hay dos preguntas que se responden con Checkbox, así que incluí doble implode en mi archivo php:

$gusto = implode(",",$_POST['gusto']);
$sabe_ud = implode(",",$_POST['sabe_ud']);

Pero me sale un error al enviar el formulario. Al quitar una de las 2 líneas la base de datos se actualiza bien en la casilla que se deja el implode y en la otra aparece Array.

Como hago para que varias preguntas del form que vayan con checkbox se puedan actualizar en mi base de datos?

Gracias de Nuevo.
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:21.