Estou criando uma plataforma ead e com dificuldade em uma coisa… Ao editar uma aula que pode estar em mais de um módulo, mostram os checkbox todos repetidos, a minha dificuldade está sendo trazer os que já estavam marcados e os não marcados, mas sem repetir (segue a foto).
$sql_aula_mod = $mysqli->query("SELECT a.titulo_aula, a.situacao, a.video, a.nota, am.modulo_id, m.titulo_modulo
FROM aulas AS a
INNER JOIN aula_modulos AS am
ON am.aula_id = a.id
INNER JOIN modulos AS m
ON m.id = am.modulo_id
WHERE 1=1
AND a.id = '$id_aula'
GROUP BY m.titulo_modulo ASC
") or die($mysqli->error);
$aula_mod = $sql_aula_mod->fetch_all(MYSQLI_ASSOC);
$sql_modulos = "SELECT id, titulo_modulo FROM modulos ORDER BY titulo_modulo ASC";
$modulos = $mysqli->query($sql_modulos);
<div class="row m-t-1 text-left">
<div class="col-lg-12">
<div class="form-group">
<label for="">Módulo</label><br>
<?php
while($row_modulos = $modulos->fetch_assoc()) {
extract($row_modulos);
foreach($aula_mod as $modulosid) {
extract($modulosid);
if($modulo_id === $id) {
echo "<label style='margin-right: 30px'>";
echo "<input type='checkbox' name='modulo_id[]' value='$id' checked > ";
echo "<span class='text-inverse'>$titulo_modulo</span>";
echo "</label>";
} else {
echo "<label style='margin-right: 30px'>";
echo "<input type='checkbox' name='modulo_id[]' value='$id' > ";
echo "<span class='text-inverse'>$titulo_modulo</span>";
echo "</label>";
}
}
}
?>
</div>
</div>
</div>