Astronom
07.07.2011, 23:45
Собственно, имеет место быть выборка исходящих сообщений из таблицы mysql. Исходящие сообщения могут быть как одинарные (одному пользователю), так и массовые (многим), вторые по сути являются независимыми сообщениями, в той разницей, что у них в точности одинаково время создания сообщения и одинаковый контент, но разные адресаты.
Когда сообщения одинарные, с выводом никаких проблем не возникает, стандартный mysql_fetch_assoc и строки таблицы с ячейками-полями в цикле. Самое интересное, это когда пробуешь слить вместе массовые сообщения, суммируя всех адресатов в одном поле.
Пару часов побился, так и не нашел подходящего решения. У кого нибудь есть примерный алгоритм, каким можно пробовать решать эту задачу?
Astronom
08.07.2011, 21:31
Сделал при помощи 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>