Сортировка и разделение значений в выпадающем меню PHP по аналогичным идентификаторам - PullRequest
0 голосов
/ 04 июня 2019

Вот таблица mysql с именем " subject "

| ID | Name |
|----|------|
| 32 | Name1 |
| 32 | Name2 |
| 32 | Name3 |
| 28 | Name4 |
| 28 | Name5 |
| 33 | Name6 |
| 33 | Name7 |
| 41 | Name8 |
| 55 | Name9 |

Я бы хотела разделить все идентичные идентификаторы

<select>
<?php

   $count_line = 0;
   $sql="SELECT * FROM subject";
   $result=mysqli_query($conn, $sql);
   while($row = $result->fetch_assoc()) {

?>     
 <option><?php echo $row['Name'];?></option>
<?php 
     if ($count_line == 2) {
       echo "<optgroup label='--------------------'></optgroup> ";
       $count_line=0;
     }
     $count_line++;
}   
?>
</select>

В моемОтдельная строка кода будет отображаться после каждых двух записей. Я хотел бы отображать отдельную строку после каждого подобного идентификатора в раскрывающемся меню.

Я хотел бы получить вывод, как показано на рисунке.enter image description here

Пожалуйста, помогите кому-нибудь решить эту проблему.

1 Ответ

1 голос
/ 04 июня 2019

Можно попробовать,

<select>
<?php
$count_line = 0;
$row_id = '';
 $sql="SELECT * FROM subject";
$result=mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
?>     
 <?php 
if($count_line != 0 && $row_id != $row['ID']) 
{
echo "<optgroup label='--------------------'></optgroup> ";
}
 <option><?php echo $row['Name'];?></option>
$count_line++;
$row_id = $row['ID'];
}   
?>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...