Помощь Помогите с выводом запроса в шаблон

Тема в разделе "DLE", создана пользователем yeaahhh, 1 ноя 2010.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. yeaahhh

    yeaahhh

    Регистр.:
    8 май 2008
    Сообщения:
    278
    Симпатии:
    11
    Друзья. Помогите, пожалуйста, с выводом данных в шаблон.
    Делаю вывод данных из бд.
    PHP:
    $db->query("SELECT * FROM " PREFIX "_people Where alt_name='$name'");

    $row $db->get_row();

    $name stripslashes($row['name']);


    $sql $db->query("SELECT * FROM " PREFIX "_post WHERE act LIKE '%Кэмерон Диаз%' AND approve = '1'");
    while ( 
    $row $db->get_row$sql ) ) {
    $full_link $config['http_home_url'] . get_url$row['category'] ) . "/" $row['id'] . "-" $row['alt_name'] . ".html";
    $films '<a href="'.$full_link.'"> ' .stripslashes($row['title']) . '</a><br /> ';
    }



    $tpl->load_template('people/star.tpl');
    $tpl->set('{name}'"$name");
    $tpl->set('{films}'"$films");
    $tpl->compile('content');
    $tpl->clear();
    Проблема: через тег {films} выводится только 1 запись из бд.. Не могу понять почему, ведь цикл присутствует.. Помогите, пожалуйста..
    P.s. если в цикле прописать echo $films, то все записи выводятся исправно, только их место не контролируется тегом в шаблоне. Но при контроле с помощью $tpl->set('{films}', "$films"); - выводится только 1 запись из БД.
    Подскажите, где ошибка? Заранее спасибо!
     
  2. UDAV

    UDAV

    Регистр.:
    22 июн 2007
    Сообщения:
    781
    Симпатии:
    153
    Может это убрать?
    AND approve = '1'
     
  3. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    Всё правильно. approve='1' отвечает за модерацию.
    вместо
    PHP:
    $sql $db->query("SELECT * FROM " PREFIX "_post WHERE act LIKE '%Кэмерон Диаз%' AND approve = '1'");
    while ( 
    $row $db->get_row$sql ) ) {
    $full_link $config['http_home_url'] . get_url$row['category'] ) . "/" $row['id'] . "-" $row['alt_name'] . ".html";
    $films '<a href="'.$full_link.'"> ' .stripslashes($row['title']) . '</a><br /> ';
    пробуй
    PHP:
    $sql $db->query("SELECT * FROM " PREFIX "_post WHERE act LIKE '%Кэмерон Диаз%' AND approve = '1'");

    $films "";

    while ( 
    $row $db->get_row$sql ) ) {
    $full_link $config['http_home_url'] . get_url$row['category'] ) . "/" $row['id'] . "-" $row['alt_name'] . ".html";
    $films .= '<a href="'.$full_link.'"> ' .stripslashes($row['title']) . '</a><br /> ';
    Ты забыл про конкатенацию.
     
    yeaahhh нравится это.
Статус темы:
Закрыта.