把 mysql_fetch_array()换为mysql_fetch_row()试试
foreach好象不支持关联数组的,记不清楚了 ;-)

解决方案 »

  1.   

    {foreach from=$result item=theInfo}
    <li>{$theInfo.field1}</li>
    <li>{$theInfo.field2}</li>
    ......
    <li>{$theInfo.fieldN}</li>
    <hr>
    {/foreach}
      

  2.   

    {foreach from=$result item=theInfo}
    <li>{$theInfo.id}</li>
    {/foreach}回楼上大哥,我这样写了,还是不能正常显示啊
      

  3.   

    $result 是个数组,所以请检查是否有问题:
    $tpl->assign("result",$result);
      

  4.   

    一张表,包括所有字段和数据,应该是个二维数组。
    你这样取出的只是一维数组,只包含一条数据。//返回一个二维数组,一个表内所有数据
    function fetchArray($res,$type = MYSQL_ASSOC) {
    $res=isset( $res )?$res:$this->mResult ;
    $array = array();
    while($f = mysql_fetch_array($res, $type)) {
    array_push($array,$f);
    }
    unset($res);
    return $array;
    }$sql = "select * from test order by id desc";
    $query = mysql_query($sql);
    $result = fetchArray($query);
    $tpl->assign("result",$result);
    $tpl->display("test3.tpl");//test.tpl
    {section name=list loop=$result}
    <li>{$result[list].colum1}</li>
    <li>{$result[list].colum2}</li>
    <li>{$result[list].colum3}</li>
    ...
    {/section}#注意把$result[list].colum1的colum1换成你数据表内的字段名字。