Xwab
Форумыnavigate_nextПрограммирование на PHP

sql-запрос без повтора вывода
Сообщения
Expert

Michman, да
 phones_directory.id_build = name_room.id

12 Фев 2013, 16:44
SL_NeKrOmAnT

[php:1:9021c52913]
$query=mysql_query("SELECT DISTINCT name_room.name_room as name_room, phones_directory.*
FROM phones_directory, name_room
WHERE phones_directory.id_build = name_room.id GROUP BY `name_room` 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:9021c52913]

Попробуй так.

12 Фев 2013, 16:45
Expert

SL_NeKrOmAnT, не работает, выводит только одну запись и одну категорию
скрин


__________
посл.ред. 12 Фев 2013, 16:54; всего 1 раз 12 Фев 2013, 16:52
Michman

[php:1:44fd2fe1fd]$query=mysql_query("SELECT * FROM `phones_directory`");

while ($rows = mysql_fetch_assoc($query))
{
$query=mysql_query("SELECT * FROM `phones_directory` WHERE `id_build` = ".$rows['name_room']);

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:44fd2fe1fd]
давно на php не практиковался возможно это и не верный код

12 Фев 2013, 16:53
Expert

Michman, не работает
добавлено спустя 6 минут:
еще есть варианты?

12 Фев 2013, 17:07
Flyd

[php:1:5a6d880c4b]$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");
$dir = 0;
while($rows=mysql_fetch_array($query)) {
if($rows['id'] != $dir){
echo '<tr><td colspan="5" class="name_room"><strong>'.$rows['name_room'].'</strong></td></tr>';
$dir = $rows['id'];
}

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:5a6d880c4b]

12 Фев 2013, 17:16
Expert

СДЕЛАЛ ТАК и РАБОТАЕТ!
всем спасибо кто помогал
[php:1:dfd212f491]$last_room_id = null;
while ($rows = mysql_fetch_array($query)) {
if ($last_room_id !== $rows['id_build']) {
echo '<tr><td colspan="5" class="name_room"><strong>', $rows['name_room'], '</strong></td></tr>';
$last_room_id = $rows['id_build'];
}
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:dfd212f491]

12 Фев 2013, 17:31
Flyd

в запрос еще добавь сортировку по phones_directory.id

12 Фев 2013, 17:50
SL_NeKrOmAnT

Michman, цикл в цикле - это мощно!

12 Фев 2013, 18:12
Michman

SL_NeKrOmAnT, да я заметил ктрл+ц создал дьявол

12 Фев 2013, 18:18
Ответить на тему