本帖最后由 wenfei307 于 2012-08-06 11:46:59 编辑

解决方案 »

  1.   

     .。。不用这么费劲的 你你不就是想循环出$brand_list 这个嘛。
    你这样写的就是至少2维数组了。
    {section loop=$brand_list name=sn}
        {$brand_list[sn].id}:{$brand_list[sn].name}
    {/section}
    sn就是下标。
      

  2.   

    $i++;
    $wf->assign("i",$i);你这人每次这样循环的话 等于是每次都把smarty的 $i给重新写了 那他得值就是最后一次写的4
     $wf->assign("i".$i, $i);
    i1 i2 i3 i4
    {section name=foo $start=1 loop=4 step=1} 
        {assign var='index' value=$smarty.section.foo.index}
        {assign var='i' value='i$index'}
    后面在用{$i} 就是1234了。
    不过这样用就太费劲了
    {/section}
      

  3.   


    没太看明白什么意思,也没有跑出来数据。我没在纠结于怎么实现最后的结果,完全可以用另外的方法实现。其实我现在就想怎么才能实现在循环中实现assign,然后能在模板中把php循环里面的assign进行正常的输出。
      

  4.   

     $wf->assign("i".$i, $i);
    这就是赋值 i1 =1 i2=2 ...
    然后你tpl里面直接用{$i1} {$i2}...
      

  5.   

    大概意思明白了,但是在模板里面应该怎么写?我是想循环出来assign里面的东西的,总不能{$i1} {$i2}...的写出来吧?你上面写的那个模板里面的代码运行不出来,不知道哪里出错了。
      

  6.   

    $i=0;
    $db->Query("brand_list","select * from `category` where `pid`='2' order by id");//总共有4个结果
    $index = array();
    while($array = $db->GetArray("brand_list")){
        $brand_list[] = $array;
        $i++;
        $index[] = $i;
        //echo $i.',';
    }
    $wf->assign("i",$index);
    $wf->assign('brand_list',$brand_list);
    {foreach from=$brand_list item=list key=key}
        {$i[$key]},
    {/foreach}