我用smarty section中数组怎么只能用数字做检索。给键名命名时就不行???

解决方案 »

  1.   

    section 是专为遍历下标数组而设的
      

  2.   

    可以用关联字段啊,只要查询的结果数组中,键名是关联的就行。如下参考:function selectLink($oid){
    $sql = "select o.oid,l.lid,c.cid,comName,comPrice,ordTime
    from mis_order o,mis_link l,mis_commodity c
    where o.oid=l.lid and c.cid=l.cid and o.oid=?";
    $stmt = $this->mysqli->prepare($sql);
    $stmt->bind_param("i",$oid);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($oid,$lid,$cid,$comName,$comPrice,$ordTime);
    $rows = $stmt->affected_rows;
    if($rows > 0){
    $arrLink = array();
    while($stmt->fetch()){
     $arr = array(
    "oid" => $oid,
    "lid" => $lid,
    "cid" => $cid,
    "comName" => $comName,
    "comPrice" => $comPrice,
    "ordTime" => $ordTime
    );
    array_push($arrLink,$arr);
    }
    return $arrLink;
    }else{
    echo "查询订单明细失败!<br/>";
    }
    }
    function showLinkList($arrLink){
    $this->smarty->assign("arrLink",$arrLink);
    $this->smarty->display("Smarty/templates/showLink.html");
    }
    //实例化模板
    $arrLink = $model->selectLink($oid);
    $tpl->showLinkList($arrLink);<table border=1 style="font-size:12px;">
    <tr>
    <th>订单编号</th><th>商品名称</th><th>商品价格</th><th>订单时间</th><th>删除</th>
    </tr>
    {if $arrLink}
    {section name=Link loop=$arrLink}
    <tr>
    <td>{$arrLink[Link].oid}</td>
    <td>{$arrLink[Link].comName}</td>
    <td>{$arrLink[Link].comPrice}</td>
    <td>{$arrLink[Link].ordTime}</td>
    <td><a href="sysAction.php?deLink={$arrLink[Link].cid}">删除</a></td>
    </tr>
    {/section}
    {/if}
    </table>
      

  3.   

    smarty中section用法
    http://3aj.cn/article/114.html