X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Прервать цикл while в php
Сергуня
Сергуня
Topic Starter сообщение 9.11.2012, 1:33; Ответить: Сергуня
Сообщение #1


Бывалый
****

Группа: User
Сообщений: 284
Регистрация: 13.4.2008
Из: Подгорица
Поблагодарили: 48 раз
Репутация:   11  


Здравствуйте.

Есть DLE и кэшируемый результат запроса:

$tpl->result['comtype_num'] = dle_cache( "comtype_num", $config['skin'], true );

if( $tpl->result['comtype_num'] === false ) {

    $tpl->load_template( 'comtype_num.tpl' );

    $query = "SELECT COUNT(*) AS count, type FROM " . USERPREFIX . "_comments GROUP BY type";
    $q = $db->query($query);

    while($row = $db->get_row($q)) {

        $tpl->set( "{comtype_{$row['type']}}", $row['count'] );

        $tpl->compile( 'comtype_num' );

    }
    
    $tpl->clear();    
    $db->free();

    create_cache( "comtype_num", $tpl->result['comtype_num'], $config['skin'], true );

}


В шаблоне использую конструкцию:
<p>Бла-бла2: {comtype_2}</p>
<p>Бла-бла1: {comtype_1}</p>

а на сайте все отображается в виде:
<p>Бла-бла2: {comtype_2}</p>
<p>Бла-бла2: {comtype_2}</p><p>Бла-бла1: {comtype_1}</p>
<p>Бла-бла1: {comtype_1}</p>

т.е. дублируется.

Помогите, пожалуйста, решить задачу.

Спасибо.


--------------------
1
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
kronos
kronos
сообщение 9.11.2012, 2:34; Ответить: kronos
Сообщение #2


Белый веб-мастер
*******


Группа: Active User
Сообщений: 4703
Регистрация: 10.2.2009
Из: Харьков
Поблагодарили: 2629 раз
Репутация:   327  


може if( $tpl->result['comtype_num'] == false ) { ?
два равно

Сообщение отредактировал kronos - 9.11.2012, 2:34


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Сергуня
Сергуня
Topic Starter сообщение 9.11.2012, 13:46; Ответить: Сергуня
Сообщение #3


Бывалый
****

Группа: User
Сообщений: 284
Регистрация: 13.4.2008
Из: Подгорица
Поблагодарили: 48 раз
Репутация:   11  


Нет, очевидно же, что решение у этой задачи не такое.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r-oot
r-oot
сообщение 9.11.2012, 19:26; Ответить: r-oot
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 506
Регистрация: 30.3.2008
Поблагодарили: 19 раз
Репутация:   12  


Может поможет вынос $tpl->compile( 'comtype_num' ); за тело цикла?


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Сергуня
Сергуня
Topic Starter сообщение 9.11.2012, 20:13; Ответить: Сергуня
Сообщение #5


Бывалый
****

Группа: User
Сообщений: 284
Регистрация: 13.4.2008
Из: Подгорица
Поблагодарили: 48 раз
Репутация:   11  


r-oot, да, эта и еще две манипуляции привели к решению.

Вопрос исчерпан.

Сообщение отредактировал Сергуня - 9.11.2012, 20:14


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3332 Сегодня, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 484 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыImage Optimizer (PHP)
6 bars96 904 17.11.2017, 0:47
автор: bars96
Открытая тема (нет новых ответов) Стабильный хостинг за 30р в месяц. GNU/Linux, PHP, MySQL, Perl, бэкапы. Помогу перенести сайт.
5 freeax 1535 10.11.2017, 13:15
автор: freeax
Горячая тема (нет новых ответов) [предлагаю] Качественные услуги по PHP/HTML/CSS/JS, любые движки
Услуги программирования
31 Alexandr_js 10025 2.11.2017, 16:36
автор: gretskov


 



RSS Текстовая версия Сейчас: 12.12.2017, 16:50
Дизайн