Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Цикл в теле письма

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
polger
Отправлено: 05 Июля, 2013 - 21:42:32
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Задача в следующем. В письме, которое отправляется с помощью mail(), нужно разместить цикл, который формирует таблицу некого содержания.
Подскажите, как это можно сделать?
 
 Top
caballero
Отправлено: 05 Июля, 2013 - 22:02:30
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




КО подсказывает что сначала надо сформировать циклом таблицу некоего содержания а потом вставить ее в письмо.
Вряд ли почтовые форматы предназначены для размещения в них циклов


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
polger
Отправлено: 05 Июля, 2013 - 22:23:33
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




caballero пишет:
КО подсказывает что сначала надо сформировать циклом таблицу некоего содержания а потом вставить ее в письмо.
Вряд ли почтовые форматы предназначены для размещения в них циклов

Это я понимаю всё. А как эту таблицу вставить в $massage? Функцией не удаётся добавить результат цикла.
 
 Top
AlexAnder
Отправлено: 05 Июля, 2013 - 22:36:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




Цитата:
Функцией не удаётся добавить результат цикла.

какой функцией?код покажи


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
polger
Отправлено: 05 Июля, 2013 - 22:44:05
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




AlexAnder пишет:
Цитата:
Функцией не удаётся добавить результат цикла.

какой функцией?код покажи

Например вот:
PHP:
скопировать код в буфер обмена
  1. /* получатели */
  2. $to= "Mary <mary@example.com>" . ", " ; //обратите внимание на запятую
  3. $to .= "Kelly <kelly@example.com>";
  4.  
  5. /* тема/subject */
  6. $subject = "Birthday Reminders for August";
  7.  
  8. /* сообщение */
  9. $message = "
  10. <html>
  11. <head>
  12. <title>Birthday Reminders for August</title>
  13. </head>
  14. <body>
  15. <p>Here are the birthdays upcoming in August!</p>
  16. <table>
  17. <tr>
  18. <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
  19. </tr>
  20. <tr>
  21. <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
  22. </tr>
  23. <tr>
  24. <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
  25. </tr>
  26. </table>
  27. <!--                 НАПРИМЕР ТУТ НАХОДИТСЯ ЦИКЛ       -->
  28. </body>
  29. </html>
  30. ";
  31.  
  32. /* Для отправки HTML-почты вы можете установить шапку Content-type. */
  33. $headers= "MIME-Version: 1.0\r\n";
  34. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  35.  
  36. /* дополнительные шапки */
  37. $headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
  38. $headers .= "Cc: birthdayarchive@example.com\r\n";
  39. $headers .= "Bcc: birthdaycheck@example.com\r\n";
  40.  
  41. /* и теперь отправим из */
  42. mail($to, $subject, $message, $headers);


Переменные работают в теле письма корректно, а как заставить в теле работать цикл?
Истина где то рядом, но не могу догнать =)
Я уже и в функции делал необходимый цикл и в теле объявлял эту функцию, но ничего не записывается. Отправленное письмо открываю, а это место, там где должен быть результат цикла, пустое.

(Отредактировано автором: 05 Июля, 2013 - 22:46:57)

 
 Top
Саныч Модератор
Отправлено: 05 Июля, 2013 - 22:52:01
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




polger пишет:
Истина где то рядом, но не могу догнать
Истина где-то здесь - догоняйте.


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
polger
Отправлено: 05 Июля, 2013 - 22:58:22
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Саныч пишет:
polger пишет:
Истина где то рядом, но не могу догнать
Истина где-то здесь - догоняйте.

Вот такие "Полезные" ответы и портят форумы. Я умею пользоваться поисковиками и могу самостоятельно найти учебник по PHP.
Спрашивается, зачем существует раздел "для новичков", если в это разделе шлют на учебник.
 
 Top
AlexAnder
Отправлено: 05 Июля, 2013 - 23:01:02
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)




Цитата:
"Mary <mary@example.com>" . ", "

ну вот, строки склеивать же можешь
Спойлер (Отобразить)

(Добавление)
Цитата:
"Полезные" ответы и портят форумы

а ты хочешь чтоб все возникшие у тебя проблемы другие решали?
(Добавление)
Цитата:
Если хочешь помочь голодному, дай ему не рыбу, дай удочку.

как-то так ...


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
caballero
Отправлено: 06 Июля, 2013 - 00:04:53
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
Вот такие "Полезные" ответы и портят форумы.

советы хорошие - намного полезнее подтолкнуть человека в правильном направлении а не сделать за него.

если ты не умеешь сформировать кусок html текста в PHP то какая разница что там надо вкладывать в письмо.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
polger
Отправлено: 06 Июля, 2013 - 00:21:59
Post Id


Новичок


Покинул форум
Сообщений всего: 23
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Ребята, эта задача для меня срочная и большинство возникающих вопросов я решаю самостоятельно, но когда не могу справиться самостоятельно, я обращаюсь к знающим людям, например как в данном случае.
Теперь я буду знать, что нет смысла сюда обращаться. Так как даже по таким пустяковым вопросам мне не хотят помочь, хотя раздел именно для пустяковых вопросов.
Всем спасибо!
 
 Top
DelphinPRO
Отправлено: 06 Июля, 2013 - 00:33:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. /* получатели */
  2. $to= "Mary <mary@example.com>" . ", " ; //обратите внимание на запятую
  3. $to .= "Kelly <kelly@example.com>";
  4. /* тема/subject */
  5. $subject = "Birthday Reminders for August";
  6.  
  7. /* сообщение */
  8. $message = "
  9. <html>
  10. <head>
  11. <title>Birthday Reminders for August</title>
  12. </head>
  13. <body>
  14. <p>Here are the birthdays upcoming in August!</p>
  15. <table>
  16. <tr><th>Person</th><th>Day</th><th>Month</th><th>Year</th></tr>
  17. "; // закроем строчку :)
  18. // <!--                 НАПРИМЕР ТУТ НАХОДИТСЯ ЦИКЛ       -->
  19.  
  20. // В этой переменной у нас допустим данные для таблицы
  21. $rgData = array(...);
  22. foreach ($rgData as $rgRow) {
  23.   $message .= "
  24. <tr>
  25.  <td>{$rgRow['name']}</td>
  26.  <td>{$rgRow['day']}</td>
  27.  <td>{$rgRow['month']}</td>
  28.  <td>{$rgRow['year']}</td>
  29. </tr>"; // Добавим очередную строчку
  30. }
  31.  
  32. $message .= "</table>"; // Закроем таблицу;
  33. $message .= "</body></html>";
  34.  
  35. /* Для отправки HTML-почты вы можете установить шапку Content-type. */
  36. $headers= "MIME-Version: 1.0\r\n";
  37. $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
  38.  
  39. /* дополнительные шапки */
  40. $headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
  41. $headers .= "Cc: birthdayarchive@example.com\r\n";
  42. $headers .= "Bcc: birthdaycheck@example.com\r\n";
  43.  
  44. /* и теперь отправим из */
  45. mail($to, $subject, $message, $headers);


данный код предполагает следующий формат данных:

PHP:
скопировать код в буфер обмена
  1. $rgData = array(
  2.   array(
  3.     'name'  => 'Joe',
  4.     'day'   => '3rd',
  5.     'month' => 'August',
  6.     'year'  => '1970',
  7.   ),
  8.   array(
  9.     'name'  => 'Sally',
  10.     'day'   => '17th',
  11.     'month' => 'August',
  12.     'year'  => '1973',
  13.   ),
  14.   //...
  15. );


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
caballero
Отправлено: 06 Июля, 2013 - 00:33:39
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




люди просто не понимают какая у тебя проблема. Незнание синтаксиса как циклы пишутся?
Неумение сформировать таблицу в PHP говорит о том что тема скорее для раздела "напишите за меня поджалуйста"


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
Dragon_Knight
Отправлено: 07 Июля, 2013 - 18:06:04
Post Id



Гость


Покинул форум
Сообщений всего: 103
Дата рег-ции: Май 2012  
Откуда: г.Мытищи, МО


Помог: 0 раз(а)




Я по себе знаю, что если просить "сделайте за меня" результат будет не очень..
Вот набросал пример, думаю станет более понятно.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $count = 1000;
  4.  
  5. $message = "Начало текста.<br>";
  6. $message .= "Продолжение текста.<br>";
  7. $message .= "Я умею объединять разный текст в одну длинную строчку.<br>";
  8. $message .= "Я умею считать до " . $count . " одной строкой кода:<br>";
  9.  
  10. $LoopsResult = ""; // Создаём переменную для сбора строки в цикле.
  11. for($i=0; $i<$count; $i++) $LoopsResult .= "" . $i+1 . ", "; // Собираем строку
  12. $LoopsResult = substr($LoopsResult, 0, -2); // Удаляем из строки последнии ", ".
  13.  
  14. $message .= "'" . $LoopsResult . "'.<br>"; // Склеиваем две строки
  15.  
  16.  
  17. echo $message; // Выводим всё как одна строка.
  18.  
  19. ?>
 
 Top
DelphinPRO
Отправлено: 07 Июля, 2013 - 20:37:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




Dragon_Knight к чему это?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB