2013-12-11 87 views
0

我有一個變量$ res,它存儲來自我的數據庫的一些值。 在我的模板,我想多次使用這個變量在foreach這樣的:當頁面呈現在顯示Smarty在模板中使用foreach兩次

 {foreach $res as $r} 
     <h1>{$r.name}</h1> 
     {/foreach} 


     {foreach $res as $r} 
     <h1>{$r.image1}</h1> 
     {/foreach} 

只有第一的foreach。如果我把第二個放在頂部,那個被渲染。也有價值$ r。$ 我錯過了什麼嗎?

問候 Steffem

回答

0

你嘗試宣告一個foreach的智者路?

{foreach item=r from=$res} 
+0

嘿,那是宣佈它的2.x方式。 在3.x它就像我最初發布。 無論如何,我想通了,當我建立數據庫連接的簡單方法,而不是與pdo。 – Steffen

+0

您好Steffen,謝謝澄清。您可能希望將解決方案作爲禮節發佈給其他訪問者。 –

0

首先我使用的Smarty的示例應用程序給出的方法:

// database object 
    var $pdo = null; 
    // smarty template object 
    var $tpl = null; 
    // error messages 
    var $error = null; 

    /* set database settings here! */ 
    // PDO database type 
    var $dbtype = 'mysql'; 
    // PDO database name 
    var $dbname = 'database'; 
    // PDO database host 
    var $dbhost = 'localhost'; 
    // PDO database username 
    var $dbuser = 'guestbook'; 
    // PDO database password 
    var $dbpass = 'foobar'; 

但是使用foreach語句的任何地方兩次沒有工作。 現在我做的簡單的方法:

mysql_connect("localhost", "username", "foobar") or die(mysql_error()); 
mysql_select_db("database") or die(mysql_error()); 

這工作了,我和解決問題。 但是要警告:如果你正在構建一個嚴肅的web項目,這兩種方法都不是真的安全。稍後當我完成其他內容時,我會處理這個問題。對於開發的目的,我絕對沒問題。