Отображение данных из базы средствами php smarty mysql

помогите понять: в базе есть таблица:

        id  f_gdpec  w_gdpec    url_gdpec   p_gdspec
        1   Москва  Красноярск  www.test.ru 450
        2   Москва  Красноярск  www.test.ru 900
        3   Москва  Красноярск  www.test.ru 600

Нужно вытащить данные из базы данных и отобразить средствами php, значит smarty. вот что я сделал: module.php:

<?php
function mod_gdspec($module_id){

    $inCore = cmsCore::getInstance(); 
    $inDB   = cmsDatabase::getInstance();
    $cfg    = $inCore->loadModuleConfig($module_id);

    $sql = "SELECT f_gdpec,
                   w_gdpec,
                   url_gdpec,
                   p_gdspec
            FROM cms_gdspec";

    $result = $inDB->query($sql) ;

    if ($inDB->num_rows($result)){
    $items = array();

        while ($item=$inDB->fetch_assoc($result)){
        $items[]=$item;
        }
    }

    $smarty = $inCore->initSmarty('modules', 'mod_gdspec.tpl');         
    $smarty->assign('items', $items);
    $smarty->display('mod_gdspec.tpl');

    return true;        
}
?>

Шаблон mod_gdspec.tpl:

{foreach item=item from=$items}

<div class="mod_latest_entry">

<div class="mod_latest_f_gdpec">

 {$item.f_gdpec}

</div>

<div class="mod_latest_w_gdpec" >

             {$item.w_gdpec}

  </div>

 </div>
{/foreach}

данные от табдиций не появляются, не могу понять на сколько. спроси свою силу. Спасибо за внимание.

исправлен скрипт - module.php!!!!!!!!!!!!!!!!


person intertex    schedule 20.11.2012    source источник


Ответы (1)


Вы возвращаете значение перед присвоением значения, удалите это ненужное возвращаемое значение

<?php
    function mod_gdspec($module_id){

        $inCore = cmsCore::getInstance(); 
        $inDB   = cmsDatabase::getInstance();
        $cfg    = $inCore->loadModuleConfig($module_id);

        $sql = "SELECT f_gdpec,
                       w_gdpec,
                       url_gdpec,
                       p_gdspec
                FROM cms_gdspec";

        $result = $inDB->query($sql) ;

        if ($inDB->num_rows($result)){
        $items = array();

            while ($item=$inDB->fetch_assoc($result)){
            $items[]=$item;
            }
        }
       // return true;------------>remove this

        $smarty = $inCore->initSmarty('modules', 'mod_gdspec.tpl');         
        $smarty->assign('items', $items);
        $smarty->display('mod_tags.tpl');

        return true;        
    }
    ?>
person Sibu    schedule 20.11.2012
comment
Спасибо за ваш комментарий. Я запечатал. Проблема не в этом. :( - person intertex; 20.11.2012
comment
Я поправил сценарий. посмотри пожалуйста. - person intertex; 20.11.2012