Quiere decir que lo que haces es manejar un arreglo con los checkbox, por ello daz un name del tipo "name[]". Entonces los datos serán enviados "como un paquete". Entonces al recojer, tendrás que hacer un ciclo por cada dato recivido (mira sus comentarios).
Propongo utilizar foreach():
Código PHP:
<form method="post" action="<?=$_SERVER['PHP_SELF'] ?>">
<input name="valor[0]" type="checkbox" value="op1">
<input name="valor[1]" type="checkbox" value="op2">
<input name="valor[2]" type="checkbox" value="op3">
<input type="submit" name="Submit" value="Promediar">
</form>
<?php
if(isset($_POST['Submit'])) {
foreach($_POST['valor'] as $indice=>$valor) {
$campos[]= $indice;
$values[]= "'$valor'";
}
$campos= implode(", ", $campos);
$values= implode(", ", $values);
echo "INSERT INTO ($campos) VALUES ($values)";
}
?>
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)
... acabo de responder con algo similar
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)
, solo lo adapté. Es un ejemplo funcional.. vé cómo actúa y adáptalo.. obviamente donde yo imprimo tu insertas en la BD. El funcionamiento es similar a lo dicho por
dwaks solo cambian los métodos, ocupa el que entiendas mejor.... de hecho es lo mismo que haces al generar tus checkboxes... ocupas un while() al igual que dwaks.
www.php.net/array www.php.net/foreach
Solo por curiosidad... en tu código original tienes un
if => else para imprimir el checkbox.. pero los resultados son el mismo
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)
... ¿o no veo la diferencia?
![Pensando](http://static.forosdelweb.com/fdwtheme/images/smilies/scratchchin.gif)
.. sé que devería diferenciar en un "checked".