Я хочу сгруппировать аэропорты, которые имеют одну и ту же колонку «город».
Прямо сейчас все они перечислены рядом, и это хорошо, но я хочу добавить дополнительный тег для каждого города с двумя аэропортами.
Например, сейчас мой код показывает:
Нью-Йорк — JFK
Нью-Йорк — Ла Гуардия
Лос-Анджелес — LAX
Но я хочу это показать
Нью-Йорк — Все
Нью-Йорк — JFK
Нью-Йорк — Ла Гуардия
Лос-Анджелес — LAX
Любая помощь приветствуется. заранее спасибо
$getairportsfrom=mysqli_query($db,"SELECT * FROM details WHERE type='Airport' ORDER BY city");
while($rowfrom = mysqli_fetch_array($getairportsfrom)) {
echo "<option value='".$rowfrom['title']."'>" . $rowfrom['city'] . " - " . $rowfrom['title'] . "</option>";
}
Если это ваш запрос:
SELECT city, title
FROM details
WHERE type = 'Airport'
ORDER BY city;
Вы можете получить то, что вы хотите с этим запросом:
select city, title
from ((select city, 'All' as title, 1 as ordering
from details
group by city
having count(*) > 1
) union all
(select city, title, 2 as ordering
from details
)
) d
order by city, ordering;
SQL на самом деле не предназначен для этого типа манипуляций для представления. Тем не менее, это возможно сделать.
Других решений пока нет …