Доброй ночи, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Форум
 CMS Status-X | Техническая помощь
         Пустые поля при импорте

Похожие темы  |  Печать страницы

Пустые поля при импорте


События Воскресенье, 19.04.2015, 11:30

Status-X

Группа: Администратор
Cообщений: 3005
Регистрация: 23.10.2009
Город: Санкт-Петербург
Не совсем понятно что хотите сделать.

Судя по запросу вы хотите вывести значение только одной строки, тогда не нужно применение foreach в шаблоне.
И не видно строки передачи в шаблон.

Если хотите не показывать строки с определенными значениями, то проще отграничить это в запросе, а не выводить и потом уже проверять на пустоту.

Сделаю простой пример, скорее это то что вам и надо
PHP-код
    protected function getFiltername() {
        
$cid intval(Arr::getRequest('cid'));
        
$namefilter $this->_db->cache_fetch_assoc("SELECT Spez_1 FROM " PREFIX "_shop_kategorie_spezifikation WHERE Kategorie = '" $cid "' LIMIT 1");
        return 
$namefilter;
    }
    
    
$this->_view->assign('namefilter'$this->getFiltername()); // Передача переменной в шаблоне
    
    
{$namefilter.Spez_1// Это в шаблоне значение полученное из базы


Но что то не так, получается только одно значение, а скорее всего вам нужны все значения для категории, так вернее должно быть

PHP-код
    protected function getFiltername() {
        
$cid intval(Arr::getRequest('cid'));
        
$namefilter $this->_db->cache_fetch_assoc("SELECT Spez_1 FROM " PREFIX "_shop_kategorie_spezifikation WHERE Kategorie = '" $cid "'");
        
$array = array();
        while (
$row $namefilter->fetch_object()) {
            
$array $row['Spez_1'];
        }
        
$result->close();
        return 
$array;
    }
    
    
$this->_view->assign('namefilter'$this->getFiltername());
    
    {foreach 
from=$namefilter item=row}
        {if 
$smarty.request.namefilter == $row.Spez_1}
        {
$row.Spez_1}
        {/if}
    {foreach}


Таким образом мы получаем все подмножество строк, что бы ограничить не нужные значения можно сделать гораничение в запросе по принципу
AND Spez_1 != NULL AND Spez_1 != ''
Хотя можно сделать проверку и в цикле while, что выше в примере, добавив проверку
PHP-код
        if (!empty($row['Spez_1'])) {
            
        }


Но правильней сделать проверку на равенство ключа namefilter из маасива request, в том же while, что в примере выше, и сразу получить массив нужных значений, а вернее одно судя по условию.

И в итоге озадачивает мысль, зачем вы делаете запрос в базу, получаете массив, передаете в шаблон, а потом условием отсекаете и получаете значение которое уже у вас есть в ограничивающем условии, а точнее вот оно $smarty.request.namefilter???




Пользователь офлайн


Похожие темы  |  Печать страницы  |   Предыдущая тема  |   Следующая тема

Быстрый переход:  
 

 Сейчас на сайте


Пользователей: 0, Гостей: 7

Поисковые боты: 3
Googlebot, Inktomi Slurp, Unknown Bot

 Статистика форума


  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: intuix

 Дни рождения


banan_lol (96), poltex (41), navichok (38), pyatkin (34)
Печать | Copyright © 2009 - 2016 Status-X All rights reserved | Powered by CMS Status-X 1.05 | Контакты