Скрытие дублирующих строк в php / myqli?

0

Я надеюсь, что вы dng good, im, работающий в школьном проекте, который управляет всем влиянием внутри него, у меня возникла проблема, поскольку изображение описывает его дублирование каждой строки, моя цель - показать только одну "MATIERE" со всем "NOTE_DEVOIR" (devoir в таблице), но я получил каждый экземпляр matiere как можно больше "дьявола" у нас в этом.

ПРИМЕЧАНИЕ. Учитель добавляет "NOTE_DEVOIR" с их "MODULE_DEVOIR", это означает, что "MODULE" дублируются каждый раз с "NOTE_DEVOIR" в базе данных

Мне НЕОБХОДИМО СКАЗАТЬ НЕ УДАЛИТЬ

PHP:

echo"<br><button class='btn btn-info cursor' name='butAf'>Afficher</button>";



if(isset($_POST['butAf']))
{        

    /*ID_CLASS and ID_ANNEE just to filter the class and the year of study*/
$query5 = "select * from devoir inner join prof_an_cls on  prof_an_cls.ID_PROF_AN_CLS = devoir.ID_PROF_AN_CLS where CIN_ELEVE = '$cinE' and ID_ANNEE=$ID_ANNEE and  ID_CLASS = $ID_CLASS";
$result5 = mysqli_query($con,$query5);
if(mysqli_num_rows($result5)>0)
{
    echo"<table class='table table-bordered table-striped table-hover table-info'><tr>
    <th>MATIERE</th>
    <th>devoir1</th>
    <th>devoir2</th>
    <th>devoir3</th>
    <th>devoir4</th>
    <th>devoir5</th>

    </tr>
    ";
    while($rows = mysqli_fetch_assoc($result5))
    {/*i guess this loop its the reason of duplicating */
       $moduleD = $rows['MODULE_DEVOIR'];

    $queryDEV = "select * from devoir inner join eleve on devoir.CIN_ELEVE = eleve.CIN_ELEVE where eleve.CIN_ELEVE = '$cinE' and MODULE_DEVOIR = '$moduleD' order by MODULE_DEVOIR";

    $resultDEV = mysqli_query($con,$queryDEV);
        echo"<tr><td>$moduleD</td>";     

           while($rows = mysqli_fetch_assoc($resultDEV))/*loop2*/
            {
                $noteDEV = $rows['NOTE_DEVOIR'];

                  echo"<td>$noteDEV</td>";


              }


        echo"</tr>";
    }



    echo"</table>";
}
}
  • 1
    на основе изображения можно добавить ключевое слово, отличное от выбора. но я хотел бы знать, почему у вас есть повторяющиеся значения. Внутреннее объединение может быть причиной дублирования, может быть, вам не хватает критериев соединения? Каковы отношения PK / FK между devoir и prof_an_cls? а девиор и одиннадцать?
  • 0
    @xQbert я уже нашел ответ, но я бы объяснил, что дублирующаяся ошибка является результатом того, что учитель хочет добавить «заметку», потому что в каждой «заметке» обязательно добавляется имя «matiere», это значит, при каждом выборе он должен напечатать это имя matiere, (отношение: одиннадцать передать девиору, этот devoir имеет отношение к классу и году [для фильтрации данных]), я надеюсь, что у вас есть идея :) спасибо
Теги:

2 ответа

0
Лучший ответ

В вашем $queryDEV просто добавьте GROUP BY devoir.matiere (я предполагаю, что имя столбца является "matiere"), и вы должны получить не дублированные строки

  • 0
    его работающий человек большое спасибо: D
  • 0
    Добро пожаловать! Пожалуйста, пометьте это как ответ, чтобы другие с такой же проблемой могли легко получить ответы.
Показать ещё 2 комментария
3

Вы либо используете

DISTINCT

SELECT DISTINCT column . . . WHERE . . .

GROUP BY

SELECT column . . . WHERE . . . GROUP BY column

Вы можете проверить различия в этом ответе

  • 0
    я действительно ценю ваше время, сделанное сейчас :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню