За последние 24 часа нас посетили 62348 программистов и 1740 роботов. Сейчас ищут 1882 программиста ...

Smarty & foreach

Тема в разделе "PHP для новичков", создана пользователем dobs, 26 окт 2008.

  1. dobs

    dobs Активный пользователь

    С нами с:
    23 дек 2006
    Сообщения:
    145
    Симпатии:
    0
    Помогите плиз вывести данные из цикла

    Получаем блоки
    PHP:
    1. $r = mysql_query("SELECT * FROM ".$prefix."_bloks ORDER BY position", $dbconnect);
    2. $block1 = array();
    3. $block2 = array();
    4. $block3 = array();
    5. $block4 = array();
    6. $block5 = array();
    7. $block6 = array();
    8. while ($a = mysql_fetch_array($r)) {
    9.   switch ($a['bposition']) {
    10.     case 'l':  // Left
    11.       $block1[1] = $a;
    12.       break;
    13.     case 'r':  // Right
    14.       $block2[] = $a;
    15.       break;
    16.     case 'h':  // Header
    17.       $block3[] = $a;
    18.       break;
    19.     case 'f': // Footer
    20.       $block4[] = $a;
    21.       break;
    22.     case 'c': // Центер
    23.       $block5[] = $a;
    24.       break;
    25.     case 'p': // Ниже Центера
    26.       $block6[] = $a;
    27.       break;
    28.   }
    29. }
    обработка нужного блока

    PHP:
    1. foreach($block1 as $a) { // Left
    2.  $tLeft = $a;
    3. }
    4. $smarty->assign('tLeft', $tLeft);
    5. $smarty->assign('cLeft', count($tLeft[name]));
    *.tpl
    PHP:
    1. {section name=Templates loop=$cLeft}
    2. <h1>{$tLeft.name}</h1>
    3. <ul class="sidemenu">
    4. {$tLeft.text}
    5. </ul>
    6. {/section}

    При выполнении цикл повторяет полученую информацию а не должен...
     
  2. dobs

    dobs Активный пользователь

    С нами с:
    23 дек 2006
    Сообщения:
    145
    Симпатии:
    0
    Решено прочехил малехо

    надо было не

    Код (Text):
    1. foreach($block1 as $a) { // Left
    2.   $tLeft = $a;
    3.  }
    4.  $smarty->assign('tLeft', $tLeft);
    5.  $smarty->assign('cLeft', count($tLeft[name]));
    А
    PHP:
    1. $smarty->assign('tLeft', $block1);
    *.tpl
    PHP:
    1. {section name=Templates loop=$tLeft}
    2. <h1>{$tLeft[Templates].name}</h1>
    3. <ul class="sidemenu">
    4. {$tLeft[Templates].text}
    5. </ul>
    6. {/section}