ФорумПрограммированиеPHP для идиотов → Как добавлять результаты цикла в переменную

Как добавлять результаты цикла в переменную

  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2008 г. 3:06

    есть код:

    $query = "SELECT * FROM `news`";//формируем запрос
    $sql = mysql_query($query) or die(mysql_error());//запрос

    while ($row = mysql_fetch_assoc($sql)) {// вывод записей из базы
    "<td valign=\"top\" class=\"bod\"><span class=\"sub3\">Дата: ".$row['date']."</span><br>
    <span class=\"bod\"> <br>".$row['m_text']."
    <a href=\"#\">Дальше…</a></span></td>
    <td valign=\"top\"> </td><br><br>";
    };


    что он делает: достает все поля из таблицы и выводит их.

    но на всех страницах у меня шаблонизатор:
    $html = file_get_contents( './shablon/page.php' );
    $html = str_replace( '{title}', $pageTitle, $html );
    $html = str_replace( '{content}', $content, $html );

    echo $html;


    содержание page.php
    …………………
    <title>{title}</title>
    ……………..
    <table width="100%">
    <tr>
    <td width="100%">
    {content}
    </td>
    </tr>
    </table>


    Внимание вопрос: как мне результаты цикла занести в переменную
    $content
    ? а может есть другой способ.
    С возвращением, Пiха!
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 сентября 2008 г. 3:43, спустя 37 минут 14 секунд

    Внимание вопрос: как мне результаты цикла занести в переменную

    используй конкат.
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2008 г. 3:49, спустя 6 минут 10 секунд

    А это как?
    С возвращением, Пiха!
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 сентября 2008 г. 3:58, спустя 8 минут 48 секунд

  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2008 г. 4:09, спустя 11 минут 14 секунд

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


    while ($row = mysql_fetch_assoc($sql)) {
    // здесь выводим наши записи из базы
    $CONT = $CONT . "<td valign=\"top\" class=\"bod\"><span class=\"sub3\">Дата: ".$row['date']."</span><br>
    <span class=\"bod\"> <br>".$row['m_text']."
    <a href=\"#\">Дальше…</a></span></td>
    <td valign=\"top\">&nbsp;</td><br><br>";
    };
    С возвращением, Пiха!
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 18 сентября 2008 г. 4:14, спустя 4 минуты 21 секунду

    что значит ?
    запись куда-то в бок уносит
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 18 сентября 2008 г. 4:20, спустя 6 минут 29 секунд

    канечно в бок потому что у тебя невалидный html
    $CONT = $CONT . "<td valign=\"top\" class=\"bod\"><span class=\"sub3\">Дата: ".$row['date']."</span><br>
    <span class=\"bod\"> <br>".$row['m_text']."
    <a href=\"#\">Дальше…</a></span></td>
    <td valign=\"top\">&nbsp;</td><br><br>";


    тебе надо так

    $CONT = $CONT . "<span class=\"sub3\">Дата: ".$row['date']."</span><br/><span class=\"bod\"> ".$row['m_text']."<a href=\"#\">Дальше…</a></span>";
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 18 сентября 2008 г. 4:27, спустя 6 минут 54 секунды



    Спасибо! Это опять значит я заглючил от бессоных ночей… Тему можно закрыть
    С возвращением, Пiха!
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо
  • ivanscm

    Сообщения: 1251 Репутация: N Группа: Джедаи

    Spritz 23 сентября 2008 г. 17:13, спустя 5 дней 12 часов 33 минуты

    Возникает ошибка:
    Notice: Undefined variable: content in T:\home\localhost\rugame\articles.php on line 12



    10 while ($row = mysql_fetch_assoc($sql)) {
    11  // здесь выводим наши записи из базы
    12 $content = $content . "<span class=\"sub3\">Дата: ".$row['name']."</span><br/><span class=\"bod\"> ".$row['opis']."<a href=\"#\">Дальше…</a></span>";
    };
    С возвращением, Пiха!
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 23 сентября 2008 г. 17:49, спустя 36 минут 13 секунд


    Возникает ошибка:
    Notice: Undefined variable: content in T:\home\localhost\rugame\articles.php on line 12



    10 while ($row = mysql_fetch_assoc($sql)) {
    11  // здесь выводим наши записи из базы
    12 $content = $content . "<span class=\"sub3\">Дата: ".$row['name']."</span><br/><span class=\"bod\"> ".$row['opis']."<a href=\"#\">Дальше…</a></span>";
    };




    10 $content = null;
    11 while ($row = mysql_fetch_assoc($sql)) {
    12 // здесь выводим наши записи из базы
    13 $content = $content . "<span class=\"sub3\">Дата: ".$row['name']."</span><br/><span class=\"bod\"> ".$row['opis']."<a href=\"#\">Дальше…</a></span>";
    };
    adw/0
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 4:01, спустя 10 часов 12 минут 30 секунд

    $content = null;


    вот обьясни мне сокральный смысл этой байды
    у тебя же $content типа стринг почему его не инициализировать как стринг

    $content = "";


    зачем еще тратить время на операции приведения типа
    я понимаю что это мелочь но милион таких мелочей говорит о стиле прграммирования вообще

    кстати большой минус разработчикам за невозможность конструкции

    $content;
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 4:08, спустя 6 минут 24 секунды

    CTAPbIu_MABP, ну раз ты начал умничать, то тогда уж лучше

    не
    $content = "";

    а
    $content = '';


    а null потомучто мне так понятнее, будешь гнаться за мелкими приростами в производительности, дойдешь до уровня названия элементом
    $a1, aC

    и так далее…
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 4:10, спустя 2 минуты 36 секунд

    $gamma = ($alpha)? 'beta' : '';

    а мне нравиться больше
    $gamma = ($alpha)? 'beta' : null;

    так просто яснее…


    а для общности я юзаю null повсеместно, в отличие от ' ' или " "
    adw/0
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 24 сентября 2008 г. 4:28, спустя 17 минут 23 секунды

    ну раз уж и ты начал умничать то
    ''

    это всеголишь литерал
    и для того чтобы сделать конкатенацию он все равно будет преобразован в стринг билдер тоесть в
    ""


    $a1, aC

    обфускация это не добавление производительности
    на самом деле переменные и функции с длинной 8 символов работают быстрее чем с длинными именами

    $gamma .= ($alpha)? 'beta' : null;

    а потом при выводе $gamma некоторые удивляються почему на конце null виситъ
    а это случилось потому что при конкатенации какието типы правильно не сконвертировались и null привратился в свой стринговый эквивалент

    а для общности я юзаю null повсеместно

    надо юзать тот тип который предполагается или явно задан

Пожалуйста, авторизуйтесь, чтобы написать комментарий!