$final_total = 1000; 
$smarty->assign('total',$final_total);然后在TPL文件中 可以取到1000如果 改成$final_total = $sum;
在TPL 文件中 取不到值,是空。
我用echo $sum; 在PHP页面明明得到数值的。这是什么原因呀  实在想不明白 请教大家了。

解决方案 »

  1.   

    $smarty->assign('total',$sum?$sum:1000);
      

  2.   

    谢谢你的回复, 我在变量$sum 中是取得到值的 可是传到 tpl 就显示空白。我实在不知道为什么了。如果直接 设置 $smarty->assign('total',1000); 在tpl就能正确显示
      

  3.   

    还有就是
    变量$sum 是从数据库取出来的 不知道有没有关系。 
    $sum = func_query_first_cell($strSQL);函数如下:
    function func_query_first_cell($query, $use_cache = false, $limit_first = true)
    {
      
        return is_array($result) ? $result[0] : false;
    }
      

  4.   

    echo $sum;   有不有值。
      

  5.   

    echo $sum; 可以正确打印出值
      

  6.   

    php:$sum = func_query_first_cell($strSQL);
    function func_query_first_cell($query, $use_cache = false, $limit_first = true)
    {     
    return is_array($result) ? $result[0] : false;
    }
    $smarty->assign('total',$sum);smarty:
        <input type="hidden" name="total_charge" value="{$total}" />    
      

  7.   

    function func_query_first_cell($query, $use_cache = false, $limit_first = true)
    {  
    return is_array($result) ? $result[0] : false;   //参数中没有$result,所以永远返回false
    }$sum = func_query_first_cell($strSQL);
    var_dump($sum);   //打印一下就知道了
      

  8.   

    按照楼主的描述,php页面的$sum没有传递到tpl页面,所以导致效果页面没有值。
    检查tpl页面在哪里接收的$sum,并确认有值。