La idea es que un usuario puede tener uno o más niveles asignados en el sistema, en total son 4 niveles, la idea es que utilizando checkbox pueda asignar o desasignar niveles asi que necesito que al cargar la página se vean los cuatro niveles cada uno en un checkbox y solo estén seleccionados los que están asignados, el problema es que si un usuario tiene por ejemplo dos niveles los checkbox se duplican, si tiene tres niveles asignados los checkbox se triplican, este es el código que estoy usando:
Código PHP:
Ver original
$consultaNiveles = $DatosUsusario->runQuery("SELECT * FROM Niveles"); $consultaNiveles->execute(); while($Nivelesrow=$consultaNiveles->fetch(PDO::FETCH_ASSOC)) { $consultaNivelesAsig = $DatosUsusario->runQuery("SELECT * FROM NivelesAsignados WHERE IdUsuario = :IdUsuario"); $consultaNivelesAsig->bindparam(":IdUsuario", $IdUsuario); $consultaNivelesAsig->execute(); while($Asignarow=$consultaNivelesAsig->fetch(PDO::FETCH_ASSOC)) { if($Nivelesrow['IdNivel'] == $Asignarow['Nivel']) { echo '<div class="form-goup"><label><input type="checkbox" name="NivelEscolar" id="'.$Nivelesrow['NombreNivel'].'" checked value="'.$Nivelesrow['IdNivel'].'" onclick="ModificarNivel(this.value, this.id)">'.$Nivelesrow['NombreNivel'].'</label></div>'; } else { echo '<div class="form-goup"><label><input type="checkbox" name="NivelEscolar" id="'.$Nivelesrow['NombreNivel'].'" value="'.$Nivelesrow['IdNivel'].'" onclick="ModificarNivel(this.value, this.id)">'.$Nivelesrow['NombreNivel'].'</label></div>'; } } }
Me debería quedar así:
Pero me queda así:
Muchas gracias por el apoyo.