smarty 中迴圈列印資料庫提取的內容

來源:互聯網
上載者:User
我是剛剛接觸 smarty 模版引擎,所以對 smarty 理解不是很透徹.在用 smarty 時出現了這樣的問題。

在做一個網頁,需要用 smarty 迴圈列印從資料庫提取的內容,遇到了困難。首先是提取資料傳遞的問題,按書上說的是把從資料庫提取的內容放在一個數組中,傳遞給 smarty 模版,然後在模版中用 section 語句迴圈列印,但是始終沒有成功。因為對 section 的文法不太理解。在迴圈列印時,如果按文法寫 $article[line].id 就沒有輸出,我嘗試改成 $article.id,這樣編程迴圈列印其中某一個 id 的值很多遍,而不是把資料庫中的每一個id值列印出來。

我反思了一下,出現這些問題的原因就是 smarty 的理解不夠,只知其然而不知其所以然。 php 對我來說其實也是新事物,出現這些問題和對 php 中對資料庫的 select 也有關。我的 php 的 select 返回的結果也不是很清楚,書上只教了怎麼把結果用 while 迴圈列印,而沒有說返回的結果怎麼儲存。我自己根據

$result = mysql_query("SELECT * FROM article");while($row = mysql_fetch_array($result)){    echo $row[id];}

這段代碼,嘗試把返回的結果放在一個數組中,像這樣

$result = mysql_query("SELECT * FROM article");$row = mysql_fetch_array($result);$article = array('id' = $row[id], 'title' = $row[title]);

然後把 $article 傳遞給 smarty,代碼如下:

$smarty->assign('article',$article);$smarty->display(index.tpl);

但是在 index.tpl 中沒有輸出傳過去的資料,所以我想是不是我的提取並傳遞資料庫資料的方法有問題,因為不能深入理解,所以需要大家的幫忙了。我是一個新人,希望大家協助我時能講的詳細一些,讓我能理解內涵,做到知其然並知其所以然。

回複內容:

我是剛剛接觸 smarty 模版引擎,所以對 smarty 理解不是很透徹.在用 smarty 時出現了這樣的問題。

在做一個網頁,需要用 smarty 迴圈列印從資料庫提取的內容,遇到了困難。首先是提取資料傳遞的問題,按書上說的是把從資料庫提取的內容放在一個數組中,傳遞給 smarty 模版,然後在模版中用 section 語句迴圈列印,但是始終沒有成功。因為對 section 的文法不太理解。在迴圈列印時,如果按文法寫 $article[line].id 就沒有輸出,我嘗試改成 $article.id,這樣編程迴圈列印其中某一個 id 的值很多遍,而不是把資料庫中的每一個id值列印出來。

我反思了一下,出現這些問題的原因就是 smarty 的理解不夠,只知其然而不知其所以然。 php 對我來說其實也是新事物,出現這些問題和對 php 中對資料庫的 select 也有關。我的 php 的 select 返回的結果也不是很清楚,書上只教了怎麼把結果用 while 迴圈列印,而沒有說返回的結果怎麼儲存。我自己根據

$result = mysql_query("SELECT * FROM article");while($row = mysql_fetch_array($result)){    echo $row[id];}

這段代碼,嘗試把返回的結果放在一個數組中,像這樣

$result = mysql_query("SELECT * FROM article");$row = mysql_fetch_array($result);$article = array('id' = $row[id], 'title' = $row[title]);

然後把 $article 傳遞給 smarty,代碼如下:

$smarty->assign('article',$article);$smarty->display(index.tpl);

但是在 index.tpl 中沒有輸出傳過去的資料,所以我想是不是我的提取並傳遞資料庫資料的方法有問題,因為不能深入理解,所以需要大家的幫忙了。我是一個新人,希望大家協助我時能講的詳細一些,讓我能理解內涵,做到知其然並知其所以然。

$result = mysql_query("SELECT * FROM article");while($row = mysql_fetch_array($result)){$article = array('id' = $row[id], 'title' = $row[title]);}
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.