2013-05-16 3 views
0

Хорошо, поэтому я пытаюсь сделать так, чтобы я мог создать систему обмена сообщениями с одной таблицей. Пользователь вводит пользователя, и мы помещаем его идентификатор как sent_id, а отправивший его - my_id. Теперь моя проблема в том, что она отображается, но я не хочу, чтобы она отображалась более одного раза. Я использовал DISTINCT, но это, похоже, не работает. Пример таблицы:Беседка на основе сообщений с PHP/MYSQL?

|--ID--|--MY_ID--|--SENT_ID--| 
    1  1   2 
    2  2   1 
    3  1   2 

Как мне показать только последнюю версию?

(Также $my_id уже бежал, не волнуйтесь, лол)

SELECT `my_id`, `sent_id`, `time_stamp` FROM `messages` WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'" 

Вот мой стол:

CREATE TABLE IF NOT EXISTS `messages` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `my_id` text NOT NULL, 
    `sent_id` text NOT NULL, 
    `message` text NOT NULL, 
    `file` text NOT NULL, 
    `time_stamp` text NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; 

ответ

0

Джейк, а не 100% уверен, что вы имеете в виду о последних один , Вы говорите об ORDER BY DESC?

SELECT `my_id`, `sent_id`, `time_stamp` 
FROM `messages` 
WHERE `sent_id`="'.$my_id.'" || `my_id`="'.$my_id.'" 
ORDER BY id DESC 
LIMIT 1 
+0

Что я имею в виду, я хочу, чтобы он только выбирал самую последнюю запись. Но спасибо, что напомнили мне, забыл это сделать. – Jake

+0

Тогда «ORDER BY id DESC LIMIT 1» =) – medina

+0

Ограничение сделало бы это, поэтому я могу только получить один разговор. – Jake

Смежные вопросы