/такой вот запросик
[php:1:d83cb32da6]$query=mysql_query("SELECT *, phones_directory.id
FROM phones_directory, name_room
WHERE phones_directory.id_build = name_room.id ORDER BY `id_build` ASC");
while($rows=mysql_fetch_array($query)) {
echo '<tr><td colspan="5" class="name_room"><strong>'.$rows['name_room'].'</strong></td></tr>';
echo '<td>'.$rows['post'].'</td>
<td>'.$rows['fio'].'</td>
<td>'.$rows['number_build'].'</td>
<td>'.$rows['phones_city'].'</td>
<td>'.$rows['phones_location'].'</td>
</tr>'; [/php:1:d83cb32da6]
-----
схема БД:
тут
выводит так(скрин):
как тут
а мне надо так(скрин):
как тут
-----
как сделать так как на 2-м скрине, что бы не выводилась категория повторно, а один раз и дальше записи, потом след.категория и ее записи и т.д......уже гугл часа 3-и листаю, так и не нашол решения, кто сталкивался?
DISTINCT`ом скорее всего.
добавлено спустя 50 секунд:
DISTINCT name_room.name_room
добавлено спустя 35 секунд:
Да и вообще тему нужно было создать тут: http://xwab.mobi/forum/forum59
SL_NeKrOmAnT, тему создал тут, т.к может можно не только запросом убрать повтор, а и на пхп if`ом как-то...хотя я не знаю как)
делаю как ты сказал:
[php:1:e94f92e766]
SELECT DISTINCT name_room.name_room, phones_directory.id
FROM phones_directory, name_room
WHERE phones_directory.id_build = name_room.id ORDER BY `id_build` ASC");
while($row = mysql_fetch_assoc($query)) {
print_r($row); //GROUP BY `name_room` distinct(name) as name
}
[/php:1:e94f92e766]
не помогло, выводит ПОВТОР опять:
Array ( [name_room] => РЕКТОРАТ [id] => 3 )
Array ( [name_room] => РЕКТОРАТ [id] => 4 )
Array ( [name_room] => Кафедра автомобілів (АМ) [id] => 1 )
есть еще варианты как исправить?
записываешь в переменную имя твоего раздела и вывод. а потом проверка:
если имя раздела = предыдущему то не вывод иначе вывод нового раздела и опять пишем уже новый раздел в переменную
SL_NeKrOmAnT пишет:
"rus21d, ГК полнейший.
Это делать надо на уровне базы."
Это невозможно. mysql возвращает таблицу в ней в любом случае останутся 3 строки
[php:1:0a7fcc304d]
$query = $mysqli->query("SELECT DISTINCT name_room.name_room as name, phones_directory.id
FROM phones_directory, name_room
WHERE phones_directory.id_build = name_room.id GROUP BY `name_room` ORDER BY `id_build` ASC");
while($row = $query->fetch_assoc())
{
echo $row['name'].'<br>';
}
[/php:1:0a7fcc304d]
Из базы возвращается таблица
Ректорат/ректор/беликов/254
Ректорат/приемная/Сулима/254
Кафедра автомобилей/Бормоткин/423
Далее обрабатываешь как тебе нужно