Домой Wp-Recall WP-Recall: Вопросы и ответы Функция получения сообщений
5ответ(ов) в теме
AndreyZ
не в сети 8 лет
На сайте с 19.08.2015
Участник
1
16:28

Есть функция get_message, которая получает количество непрочитанных сообщений с БД.

 
function get_message() {
    global $wpdb,$user_ID;
    $where = "WHERE adressat_mess = '$user_ID' AND status_mess='0'";
    $num_mess = $wpdb->get_var("SELECT COUNT(ID) FROM ".RCL_PREF."private_message $where");
    if($num_mess) $block .= '<span>'.$num_mess.'</span>';
    return $block;
  }

Вопрос: как сделать так,чтобы непрочитанные сообщения от 1 автора суммировались? (Как в ВКонтакте)

0
Андрей CS
не в сети 5 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
2
16:38

тогда надо к запросу добавить GROUP BY adressat_mess

0
AndreyZ
не в сети 8 лет
На сайте с 19.08.2015
Участник
3
17:24

Если так

$num_mess = $wpdb->get_var("SELECT COUNT(ID) FROM ".RCL_PREF."private_message $where GROUP BY adressat_mess");

то не работает.

0
Андрей CS
не в сети 5 часов
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16855
4
18:39

направление я показал верное - группировать данные перед подсчетом в запросе надо, посмотрите на синтаксис построения такого запроса в гугле, например, вот что то подобное

Вы не можете просматривать опубликованные ссылки

Если не победите, то позже гляну сам.

1
AndreyZ
не в сети 8 лет
На сайте с 19.08.2015
Участник
5
21:50

Спасибо за подсказку, сделал по-другому.
Итого:

  function get_message() {
    global $wpdb,$user_ID;
    $where = "WHERE adressat_mess = '$user_ID' AND status_mess='0'";
    $num_mess= $wpdb->get_var("SELECT COUNT(DISTINCT author_mess) FROM ".RCL_PREF."private_message $where");
    if($num_mess > 0) $block .= '<span>'.$num_mess.'</span>';
    return $block;
  }

1
Тема закрыта. Публикация новых сообщений запрещена.