Создание тела сообщения для отправки по e-mail в выборкой из БД

KorP

Новичок
Создание тела сообщения для отправки по e-mail в выборкой из БД

всегда казалось что отправка сообщения пожалуй самое просто что только можно придумать, но вот запнулся на этом куске и никак не найду решения, задача, сформировать тело сообщения вида:
PHP:
$mail = "текст";
$res = mysql_query("...");
while (list(...) = mysql_fetch_row($res)):
     "...";
endwhile;
"текст";
ну и собственно проблема в том, что выборка полностью игнорируется и не попадает в тело сообщения, пробовал уже и из куско собирать
PHP:
$a = "текст....";
$res = mysql_query("...");
while (list(...) = mysql_fetch_row($res)):
$b ="..";
endwhile;
$c = "текст....";
$mail = $a.$b.$c;
и через массивы уже пробовал, ничего путного не получилось, подскажите плиз как правильно это реализовать?
 

Фанат

oncle terrible
Команда форума
игнорируется полностью, или в тело попадает только последняя строка выборки?
 

KorP

Новичок
в первом варианте игнорируется полностью, во втором только последняя строка попадает в тело
 

Фанат

oncle terrible
Команда форума
НУ РАЗУМЕЕТСЯ, в первом варианте будет игнорироваться.
поскольку в нем переменной $b вообще ничего не присваивается.

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

KorP

Новичок
так в первом варианте у меня вообще переменных нет, я всё сразу пытаюсь присвоить $mail (может там с ковычками можно наколдовать, что бы он не считал ; перед запросом как конец?)

ну во втором варианте мы получаем переменную $b в которой содержится только последняя строка из БД. можно $b сделать массивом со всеми данными, потом уже дербанить массив и разделять его на элементы из строки, что бы получить вывод в нужном виде. но что то мне кажется что я слишком круто всё это закручиваю и есть способ проще...
 

Фанат

oncle terrible
Команда форума
$mail ты тоже в первом варианте ничего не присваиваешь. глаза разуй, и изучи, что за бред ты здесь выставил в качестве "первого варианта".

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

KorP

Новичок
*****
не вижу причин для изумлений, научился чему то немного и всё, хочу дальше учится, но пока не получается

я понимаю что для столь закоренелого форумчанина и судя по всему крупного специалиста в области PHP (а скорее всего и не только) мой вопрос и кажется глупым, а моё сюсюканью ещё глупее, но что можно мне сделать в данной ситуации? есть у меня пара книг по PHP - там ничего подобного не нашёл, поковырялся в инете, тоже ответа на свой вопрос не нашёл, вот обратился к знающим людям с надеждой что помогут. ну извините коль я столь глуп в PHP, но не имея должного кол-ва знаний, найти решение самому - практически нереально
 

Фанат

oncle terrible
Команда форума
проблема-то твоя не в знании пхп.
а в отсутствии здравого смысла.

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

И нежелание продемонстрировать здесь единственный осмысленный способ - с массивами, меня удручает. То есть, заведомо дурацкий вариант два и таинственный вариант один ты посчитал более подходящими, чем с массивом.

И не надо мне говорить, что тебе неизвестен оператор конкатенации строк в пхп. Я все равно в это не поверю
 

KorP

Новичок
Автор оригинала: *****
я, конечно, понимаю желание убрать из кода незначительные подробности, но когда под эту чистку попадает ключевая строка, суть всей проблемы - это уже за гранью добра и зла.
я возможно даже не могу понять что вами имется ввиду под "ключевая строка", я вырезал лишь сами запросы и их вывод с HTML разметкой

Автор оригинала: ***** И не надо мне говорить, что тебе неизвестен оператор конкатенации строк в пхп. Я все равно в это не поверю
ну мы тут не в верю-не верю играем, но признаться честно - я даже не знаю что слово "конкатенация" значит
 

KorP

Новичок
Автор оригинала: *****
еще ты вырезал, как ты пытаешься "все присвоить $mail". то есть, саму суть.
PHP:
$a = "текст....";
$res = mysql_query("...");
while (list(...) = mysql_fetch_row($res)):
$b ="..";
endwhile;
$c = "текст....";
[B]$mail = $a.$b.$c;[/B]
разьве это не то?


Автор оригинала: *****
конкатенация - это объединение строк.
http://ru2.php.net/manual/ru/language.operators.string.php
угу, уже читаю

-~{}~ 16.11.08 23:26:

всё получилось, спасибо ***** за пинок в нужном направлении, этого и ожидал :)

если кому интересно, оказалось действительно достаточно просто:
PHP:
$res=mysql_query("...") or die(mysql_error());

$str1="текст в начале";
$str2="текст в конце";
while($row=mysql_fetch_assoc($res)){
 $str1.="тут вывод из БД";
}
$mail=$str1.$str2; // собираем всё вместе
 
Сверху