Ha ya te entendí jeje, bueno te dejo lo siguiente pruebalo!
Primero : al archivo del formulario agregale éste script(o mete la función en un script ya creado):
Código Javascript
:
Ver original<script>
function buscarChecks(Form){
var numchecks=0;
for(x=0;x<Form.childNodes.length;x++){
var nodo=Form.childNodes[x];
if(nodo.type=='checkbox' && /^c([0-9]+)$/i.test(nodo.name))
numchecks++ }
Form.numchecks.value=numchecks;
}
</script>
Segundo: nuevamente en el archivo del formulario, agrega el evento
onsubmit a tu etiqueta
<form> y mete la función del script de arriba, es decir,
buscarChecks(this)(no borres
this, dejalo), mas o menos quedaría tu etiqueta
<form> así:
Código:
<form action="AQUI TU ARCHIVO A DÓNDE SE ENVÍA" method="post" onsubmit="buscarChecks(this)">
Tercero: agrega éste
input dentro del formulario ( de la etiqueta
<form>):
Código:
<input type="hidden" name="numchecks" value="0" />
Por último: reemplaza tu archivo que procesa los datos (dónde insertas F y D) por el siguiente:
Código PHP:
Ver original<?php
include ("conexion.php");
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
# post & checkbox
$nota3 = $_POST['nota3'];
$val = $_POST['val'];
$juicio = $_POST['juicio'];
$numChecks=$_POST[numchecks];
$maxChecks=14;
$consultaChecks="";
for($x=1;$x<=$maxChecks;$x++){
if($x<=$numChecks)
eval("\$actual=\$_POST[c".$x."]?'F':'D';"); else $actual="";
if($consultaChecks)
$consultaChecks.=", c".$x."='".$actual."'";
else $consultaChecks="c1='".$actual."'";
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
# valoracion
$val=($nota3!="" && $nota3<3.0)?
"bajo":
(
($nota3>=3.0 && $nota3<=3.6)?
"básico":
(
($nota3>=3.7 && $nota3<=4.3)?
"alto":
"superior"
)
);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
# update
$sql = "UPDATE SEXTO_A_MAT SET ".$consultaChecks.",
nota3='$nota3', val='$val' , juicio='$juicio'
WHERE id=1";
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
echo "<center> datos insertados con exito </center>";
?>
Pruebalo estoy seguro que es lo que quieres, de que funciona funciona no tienes errores así que asegurate que lo copias bien.
Saludos