За последние 24 часа нас посетили 14952 программиста и 1768 роботов. Сейчас ищут 1367 программистов ...

Динамическая таблица в теле письма

Тема в разделе "Работа с почтой", создана пользователем VikontS, 29 ноя 2013.

  1. VikontS

    VikontS Новичок

    С нами с:
    29 ноя 2013
    Сообщения:
    3
    Симпатии:
    0
    Добрый день!
    Подскажите, как исправить ошибку. В теле письма должна быть передана динамически сформированная таблица.
    <?php
    ...
    $text="<title>Персоналий</title><b>Добрый день!<br />
    <table width='800'>
    <tr>
    <td width='550' align='left'><b>Имя</b></td>
    <td width='50' align='right'><b>Статус</b></td>
    </tr>
    for ($i=0; $i<$totalRows_cont; $i++) {
    <tr>
    <td width='550' align='left'>".$row_cont['name']."</td>
    <td width='50' align='right'>".$row_cont['status']."</td>
    </tr>
    }
    </table>"."<br /> Досвидания.<br />";
    ...
    ?>

    В получаемом письме:
    Добрый день
    for (=0; <5; ++) { }
    Собственно таблица с заголовком и ОДНОЙ записью.
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    Проблема в том, что вы код пхп-шный как текст вставили и ждете, что его кто-то исполнит.
     
  3. VikontS

    VikontS Новичок

    С нами с:
    29 ноя 2013
    Сообщения:
    3
    Симпатии:
    0
    Вот спасибо!
    Я понимаю что не правильно оформлен код.
    Вопрос в том, как правильно оформить, что бы он заработал...
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    Код (PHP):
    1. <?php
    2. ...
    3. $text="<title>Персоналий</title><b>Добрый день!<br /> 
    4. <table width='800'>
    5. <tr>
    6. <td width='550' align='left'><b>Имя</b></td>
    7. <td width='50' align='right'><b>Статус</b></td>
    8. </tr>";
    9. for ($i=0; $i<$totalRows_cont; $i++) {
    10. $text.="<tr>
    11. <td width='550' align='left'>".$row_cont['name']."</td>
    12. <td width='50' align='right'>".$row_cont['status']."</td>
    13. </tr>";
    14. }
    15. $text.="</table><br /> Досвидания.<br />";
    16. ...
    17. ?>
    Все, что внутри кавычек всегда интерпретируется как текст. Никакой код внутри них исполняться не будет и будет взят "как есть". Исключение - переменные в строках, обрамленных двойными кавычками. Из них будет взято значение. Теперь поглядите на мой код выше. Тут подсветка синтаксиса. Все красное - это строки. И сравните теперь со своим кодом:

    Код (PHP):
    1. <?php
    2. ...
    3. $text="<title>Персоналий</title><b>Добрый день!<br /> 
    4. <table width='800'>
    5. <tr>
    6. <td width='550' align='left'><b>Имя</b></td>
    7. <td width='50' align='right'><b>Статус</b></td>
    8. </tr>
    9. for ($i=0; $i<$totalRows_cont$i++) {
    10. <tr>
    11. <td width='550' align='left'>".$row_cont['name']."</td>
    12. <td width='50' align='right'>".$row_cont['status']."</td>
    13. </tr>
    14. }
    15. </table>"."<br /> Досвидания.<br />";
    16. ...
    17. ?>
     
  5. VikontS

    VikontS Новичок

    С нами с:
    29 ноя 2013
    Сообщения:
    3
    Симпатии:
    0
    Спасибо! Все заработало!
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.769
    Адрес:
    :сердА
    ну еще бы :)