Hola amigos.. hice un codigo muy simple que tiene unos checkboxes..
La idea es la siguiente: cada checkbox esta hecho asi
Código PHP:
<?php $todas = mysql_query("SELECT IdDiferencia, Diferencia FROM DeDiferencias ORDER BY Diferencia") or die (mysql_error());
$cReg = mysql_num_rows ($todas);
$busca = mysql_query("SELECT IdDiferencia FROM Diferencias WHERE Diferencias.IdEstudiante = '$idBusca'") or die (mysql_error());
$cantRegistros = mysql_num_rows ($busca);
// Para cada una de las posibles diferencias cargadas
for ($j = 0; $j < $cReg; $j++) {
$lineas = mysql_fetch_assoc($todas);
$dif = $lineas["Diferencia"];
$iddif = $lineas["IdDiferencia"];
$si = 0;
// Reviso cada una de las diferencias del alumno para ver cuales tiene activas
for ($i = 0; $i < $cantRegistros; $i++) {
$lin = mysql_fetch_assoc($busca);
$opcion = $lin["IdDiferencia"];
// Comparo la diferencia de la lista con la del alumno. Si es la misma checkeo el boton ..
if ($iddif == $opcion) {
echo "<li><input type='checkbox' checked name='hola' value='1' " ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
echo $dif;
echo "</li><br>";
$si = 1;
$checks[$iddif] = 1;
}
};
// .. Sino lo imprimo sin checkear
if ($si == 0) {
echo "<li><input type='checkbox' name='hola' value='0'" ?> onClick="return cambiarValor($checks,$iddif)" <?php echo ">";
echo $dif;
echo "</li><br>";
$checks[$iddif] = 0;
}
// Reseteo el puntero del arreglo del query para poder volver a buscar
if ($cantRegistros != 0) {
mysql_data_seek($busca,0);
}
};
Cuando hago onClick en cada checkbox llamo(supuestamente) a esta funcion de javascript
:
Código:
function cambiarValor(arreglo, posicion) {
if (arreglo[posicion] == 1) {
arreglo[posicion] = 0
} else {
arreglo[posicion] = 1
}
return true
}
Ahora bien.. se supone que eso modifica el valor y luego me queda listo para usarlo.. pero me dice "listo con errores" en el estado del navegador y no modifica nada :(
Alguna idea? Saludos y gracias!