Nada, he probado a cambiar el loop, pero sigue dando el mismo problema.
Si lo hago siguiendo el primero de los códigos, crea tres nuevos registros pero le asigna siempre el valor 1 al campo checkbox del primero de ellos, independientemente de cual sea el checkbox que haya activado.
Si sigo el segundo ejemplo, sólo me crea un registro y le asigna el valor 1 al campo checkbox, aunque en el formulario hubiera activado el checkbox 2.
Por cierto, detecté un error en el código del primer ejemplo:
donde puse
Código PHP:
GetSQLValueString(isset($_POST['check']) ? "true" : "", "defined","1","0"));
debe poner
Código PHP:
GetSQLValueString(isset($_POST['check'][$key]) ? "true" : "", "defined","1","0"));