Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вывести последний диалог

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ureech
Отправлено: 20 Сентября, 2015 - 20:50:47
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Помогите с запросом, уже весь мозг сломал.Вот таблица.Там где одинаковые number это диалоги, где from_del и to_del = 1 удалённые сообщения. Как вывести сообщение последнего диалога?Т.е. в данном случае должно вывестись сообщение с id=56?
Прикреплено изображение (Нажмите для увеличения)
Снимок.JPG
 
 Top
lastdays
Отправлено: 20 Сентября, 2015 - 21:54:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT `to_id`, `from_id` FROM `chat` WHERE  `form_del` = 0 AND (`to_id`=1 OR `from_id`=1) ORDER BY `id` ASC


?

Если честно непонятно, т.к. последняя запись в таблице с айди 65, а не 56.

(Отредактировано автором: 20 Сентября, 2015 - 21:54:37)

 
 Top
ureech
Отправлено: 20 Сентября, 2015 - 22:16:46
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




lastdays пишет:
Если честно непонятно, т.к. последняя запись в таблице с айди 65, а не 56

Это таблица сообщений.Сообщения связаны в диалоги по полю number.Т.е там в сообщениях где number равны это диалог.Требуется выводить последнее сообщение последнего диалога. В данном случае это id=56.Сообщение 65 не является частью диалога.
 
 Top
lastdays
Отправлено: 20 Сентября, 2015 - 23:22:45
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


Помог: 7 раз(а)




Что есть последний диалог?

CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. SELECT MAX(`number`)  AS `n` FROM .... WHERE ....
  3.  


Хоть бы кусок кода глянуть и понять идею.



p.s.
Айди диалога юзер же как то получает, типа: $_GET["dialog"] ?

(Отредактировано автором: 20 Сентября, 2015 - 23:23:48)

 
 Top
ureech
Отправлено: 20 Сентября, 2015 - 23:24:25
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Вопрос решён.Спасибо.Если кому интерестно:

PHP:
скопировать код в буфер обмена
  1. $sql = "SELECT *, COUNT(*) AS count FROM cms_user_msg WHERE  from_del = 0 AND to_del=0 AND(to_id={$id} OR from_id={$id})   GROUP BY number  HAVING count > 1 ORDER BY id ASC";$result = $this->inDB->query($sql);...
, где $id id юзера, чьё сообщение.
Затем перебираю и во втором запросе делаю выборку по $result['number']

(Отредактировано автором: 20 Сентября, 2015 - 23:34:32)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB