Форум Академгородка, Новосибирск > Php+MySQL - Слияние исходящих сообщений
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Php+MySQL - Слияние исходящих сообщений
Форум Академгородка, Новосибирск > Компьютеры и сети > Программирование > WEB-программирование
Astronom
Собственно, имеет место быть выборка исходящих сообщений из таблицы mysql. Исходящие сообщения могут быть как одинарные (одному пользователю), так и массовые (многим), вторые по сути являются независимыми сообщениями, в той разницей, что у них в точности одинаково время создания сообщения и одинаковый контент, но разные адресаты.
Когда сообщения одинарные, с выводом никаких проблем не возникает, стандартный mysql_fetch_assoc и строки таблицы с ячейками-полями в цикле. Самое интересное, это когда пробуешь слить вместе массовые сообщения, суммируя всех адресатов в одном поле.
Пару часов побился, так и не нашел подходящего решения. У кого нибудь есть примерный алгоритм, каким можно пробовать решать эту задачу?
Barthezz
GROUP BY + CONCAT smile.gif
Astronom
Сделал при помощи php. Вот примерное решение.

Код
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>Hello!</title>
</head>

<body>

<?php
include ("dbconnect.php");
?>

<?php
    $outcoming_messages = mysqli_query($connector, "SELECT admin_fio, message_from, message_content, date_sent FROM messages, admin WHERE messages.message_from = 1
                                                    AND messages.message_to=admin.admin_id AND stat<>2 ORDER BY date_sent DESC" );

    $im = mysqli_fetch_row($outcoming_messages);
    $current_date_sent = $im['3']; // First date_sent;
    $current_admin = $im['0'];
    $admin_fios = $current_admin;
    $current_message = $im['2'];
    while ($im = mysqli_fetch_assoc($outcoming_messages)) {
      if ($im['date_sent'] == $current_date_sent)
      {
            $admin_fios = $admin_fios . " | " . $im['admin_fio'];

      }
        else
      {
            echo "admin_fio  = " . $admin_fios . " *** message = " . $current_message . "<br>";
            $admin_fios = $im['admin_fio'];
            $current_message = $im['message_content'];
      }

    }
    echo "admin_fio  = " . $admin_fios . " *** message = " . $current_message . "<br>";
?>

</body>
</html>
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.