Tema: Checkbox
Ver Mensaje Individual
  #9 (permalink)  
Antiguo 25/07/2005, 11:31
Avatar de illman
illman
 
Fecha de Ingreso: mayo-2001
Mensajes: 115
Antigüedad: 22 años, 11 meses
Puntos: 0
A ver a ver

Bueno Lobo, a ver si esto te ayuda:

Tienes un formulario con 5 checks, como no explicas de que va el formulario, asumo que podría tratarse de una pregunta que puede tener varias respuestas, ok?

<form name="pru" method="post" action="send.php">
<input type="checkbox" name="miCheckBox[1]" value="1">
<input type="checkbox" name="miCheckBox[2]" value="2">
<input type="checkbox" name="miCheckBox[3]" value="3">
<input type="checkbox" name="miCheckBox[4]" value="4">
<input type="checkbox" name="miCheckBox[5]" value="5">
<input type="submit">
</form>

No es necesario numerar el array ya que lo hace solo

Recoges los valores del array en el archivo SEND:PHP e introduces los valores en MySQL. Te pongo un ejemplo que te sirve para todos. Debes tener en cuenta que solo llegan los valores que han sido marcados, el resto no te llegan.

<?
// O sea te llegarán las siguientes variables
/*
$_POST['miCheckBox'][1];
$_POST['miCheckBox'][2];
$_POST['miCheckBox'][3];
$_POST['miCheckBox'][4];
$_POST['miCheckBox'][5];
*/
Pues comprobarlo a través de un bucle como te indicaba pellagofio

for ($i=1; i<=5; i++) {

// Compruevas el valor
if (!empty($_POST['miCheckBox'][i]) { // es decir, si tiene valor
// Introduces el valor en la BBD
} else {
//Haz lo que tengas que hacer caundo el usuario no ha marcado la opción, quizás quieres guardar que no ha marcado
}
}
?>

Ten en cuenta dos cosas, cuando lo guardas en la BBDD, supongo que guardas el valor que has recibido, y un cero si no lo has recibido, ok? pero solo para este ejemplo luego lo adaptas como mejor te vaya.

Recuperar datos desde MySQL y montar un nuevo formulario

<?
// conectas a la BBDD, lees los datos y los tienes en un array, objeto,...
// Voy a asumir que los colocas en un array llamado $valores, y voy a utilizar la función que te escribí en un post anterior. Dejo el primer valor vacio, ten en cuenta que los arrays empiezan en la posición 0.

function checkbox_check ($valor,$comparacion) {
if ($valor==$comparacion) {
$tmp=" checked";
} else { $tmp=""; }
retunr $tmp;
}
?>
<form name="pru" method="post" action="send.php">
<input type="checkbox" name="miCheckBox[1]" value="1" <? echo checkbox_check (1,$valores[1]); ?>>
<input type="checkbox" name="miCheckBox[2]" value="2" <? echo checkbox_check (2,$valores[2]); ?>>

// y así sucesivamente

<input type="submit">
</form>

Cuando mandamos funcionaría igual que en el archivo anterior, solo que editando en lugar de insertando (update en lugar de INSERT).

Espero que te sirva de ayuda
U saludo