Страница 1 из 1

MySQL | Проверка повтора записи при выводе

Добавлено: 07 сен 2011, 21:10
ukhov
Есть страница. На ней из MySQL выводятся записи, которые оставили пользователи. Как сделать так, чтобы на одного пользователя выводилась только одна запись из базы? Чтобы вторая, третья - не было их на странице?

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 07 сен 2011, 22:12
boombast1k

Код: Выделить всё

SELECT * FROM `'.$table.'` ORDER BY `usr_id` WHERE `usr_name`="'.$uname.'" ;'; 
Вроде так

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 14:42
ukhov
так оно всё равно будет повтроятся

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 15:37
ChineseBeemaster

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 15:40
ukhov
так там несколько другой код. ситуацию к записями и пользователями я придумал, т.к. она больше похожа на ту, которую мне нужно "решить".
там пишешь запрос, узнаёшь сколько записей и пока записи не кончатся, выводишь данные.

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 17:34
ChineseBeemaster
кусок кода в студию, или более детальное описание задачи надо

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 19:00
ukhov
ChineseBeemaster писал(а):кусок кода в студию, или более детальное описание задачи надо
1) не в студию, а на конференцию
2) не кусок, а весь

Код: Выделить всё

$query = "SELECT * FROM `НАЗВАНИЕ ТАБЛИЦЫ`";$res = mysql_query($query) or die(mysql_error()); $number = mysql_num_rows($res); if ($number == 0) {   echo "<P>База пуста"; } else {  /* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */    while ($row=mysql_fetch_array($res)) {      echo " <P>Поле 1: ".$row['ПОЛЕ1']."</P>  ";  } } 

Re: MySQL | Проверка повтора записи при выводе

Добавлено: 08 сен 2011, 19:48
ChineseBeemaster

Код: Выделить всё

SELECT * FROM `messages`  GROUP BY `user_id` ORDER BY `message_id` DESC
да так и никак иначе
запрос рассмотрим детально

Код: Выделить всё

ORDER BY `message_id` DESC
отсотрирует записи по ID т.е. новые (с больши ID) впереди

Код: Выделить всё

 GROUP BY `user_id`
сгрупирует записи так что останется только по одной (последней из-за ORDER BY) записи на пользователя

имея такие скудные данные невозможно верно решить задачу :D