|
|
|
|
|
для: sasha12342
(16.01.2013 в 20:48)
| | Все оказалось довольно просто. К переменой "message" добавляем переменную "message" с новым значением.
В цикле:
$message=$message . "<tr>$post</tr>";
|
| |
|
|
|
|
|
|
|
для: sasha12342
(14.01.2013 в 15:32)
| | Похоже это невозможно реализовать. Или возможно? Хотя-бы скажите в каком направлении копать! | |
|
|
|
|
|
|
|
для: cheops
(14.01.2013 в 07:30)
| | А если попробовать сформировать сначала таблицу в теле письма для одного участника, затем для остальных
и
if ($iuzer=="уникальный пользователь")
{формируем тело письма для уникального участника}
else {формируем тело письма для остальных}
дальше для каждого участника в цикле отправляем письма?
Даже если я укажу участника на прямую ($iuzer='colia') то все равно ничего не получается, потому что мне надо вывести в цикле все его записи из таблицы. К примеру:
В цикле, "$post" имеет 4 разных значений (4 разных <tr>$post</tr>) и если я поставлю в цикл функцию "mail" то 'colia' получит 4 письма и в каждом из них, последовательно по одному "<tr>"
А если я поставлю функцию "mail" за цикл то 'colia' получит одно сообщение с одним "<tr>" (последнее значение из цикла "$post")
А занести весь этот код с циклами в переменную "$message" отделяя точкой запросы и текст письма
не получается. | |
|
|
|
|
|
|
|
для: sasha12342
(14.01.2013 в 00:25)
| | В самом первом запросе добавьте поле GROUP_CONCAT(id) и вы сможете получить все id данной группы. | |
|
|
|
|
|
|
|
для: sasha12342
(14.01.2013 в 00:25)
| | А если попробовать сформировать сначала таблицу в теле письма для одного участника, затем для остальных
и
if ($iuzer=="уникальный пользователь")
{формируем тело письма для уникального участника}
else {формируем тело письма для остальных}
дальше для каждого участника в цикле отправляем письма? | |
|
|
|
|
|
|
| Помогите разобраться.
Есть таблица в БД "user", в ней 7 записей: 4 с одинаковым "email" и 3 с разными.
Письмо отправляю в виде таблицы.
Итого надо отправить 4 письма всем участникам, при этом 3 из них должны получить письмо с одной таблицой и с одним полем, а один из них, одну таблицу с четырьмя полями.
Вот как я это делаю:
Разбиваю на группы участников
$sql = mysql_query("SELECT log, COUNT(*) FROM user GROUP BY log", $conn);
while($row = mysql_fetch_array($sql)){
$iuzer = $row['log'];
|
Создаю таблицу и первый "<tr>" одинаковый для всех:
$echo1="<table align='center'>
<tr align='center'>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>";
Потом выбираю значение поля "id" принадлежащим участникам:
$sql2 = mysql_query("SELECT id,mail FROM user WHERE login = '$iuzer'", $conn);
while($row2 = mysql_fetch_array($sql2)){
$idrezult = $row2['idbliudo'];
$mail = $row2['mail'];
|
Из второй таблицы вытаскиваю некоторые данные для отправки участникам (каждому свои):
$sql3 = mysql_query("SELECT x1,x2,x2 FROM tob_danie WHERE id = '$idrezult'", $conn);
while($row3 = mysql_fetch_array($sql3))
{
$x1 = $row3["x1"];
$x2= $row3["x2"];
$x3= $row3["x3"];
|
И наконец, вытаскиваю последние данные из таблицы "user" по значению "$x1":
$sql4 = mysql_query("SELECT y1,y2,y3 FROM user WHERE pole2 = '$x1'", $conn);
while($row4 = mysql_fetch_array($sql4))
{
$y1= $row4["y1"];
$y1= $row4["y1"];
$y1= $row4["y1"];
|
Вывожу тело таблицы, для каждого получается разное число строк (три таблицы с одним полем и одна с четырьмя):
$echo2="<tr align='center'>
<td>$1</td>
<td>$2</td>
<td>$3</td>
<td>$4</td>
</tr>";
Закриваю цыклы:
Закрываю таблицу и ставлю еще один "<tr>" с логином участника:
$echo3="<tr align='center'>
<td colspan='4'>$iuzer</td>
</tr>
</table>";
Закрываю первый цикл "}"
Так вот, если я ставлю функцию "mail":
$to = $mail;
$subject = $iuzer;
$message = $echo1.$echo2.$echo3;
$headers = "Content-Type: text/html; charset=utf-8" . "\r\n" . 'From: info@sait.ru';
mail($to, $subject, $message, $headers);
|
после "</table>" то пользователи получают таблицу только с одной строкой, тот который должен получить 4 строки получает одну со значениями последней, то есть в переменную "$echo2" не заноситься весь цикл. Но функцию "mail" я не могу занести в цикл, по понятным причинам.
Как решить эту задачу?
За ранее спасибо! | |
|
|
|
|