[英]Display MySQL Query Results in Twig Template
我正在實施我的第一個Twig項目。 我有一個MySQL數據庫。 它包括一個表,其中每個記錄都是一個文檔。 有標題,編號和描述字段。
沒有Twig,查詢所有結果並將它們輸出到表中非常簡單。 但是,將查詢發送到Twig時遇到了一些困難。 這似乎是一項基本任務,但是我在Twig文檔中或四處搜尋都沒有找到任何類似的示例。
Twig模板看起來很像Django / Jinja模板,我對此比較熟悉。 我的模板:
{% block Content %}
<table border='1' width=100%>
{% for i in queryResult %}
<tr>
<td> {{i.Title}} </td>
</tr>
{% endfor %}
</table>
{% endblock %}
此視圖的PHP如下所示:
$connection=mysql_connect (credentials) or die ('Cannot connect to database:' . mysql_error());
$mydb=mysql_select_db(database);
$sql = query;
$query = mysql_query($sql);
$result = mysql_fetch_assoc($query);
echo $twig -> render('all_reports.html', array('queryResult'=> $result));
這似乎是正確的。 該腳本應執行一個SQL查詢,以數組的形式返回結果集,然后將結果發送到模板。 模板應遍歷數組中的所有項目(每行一個項目),並將其顯示在表中。
實際發生的情況是渲染了三行,所有行均為空白。 我的解釋是,模板看到數組中的三個項目(每個字段一個),而不是查詢結果中每個記錄的一個項目。 它們為空,因為每個字段沒有標題字段。 但是我不知道該怎么解決。
在您的PHP中嘗試一下:
while ($row = mysql_fetch_assoc($query)) {
$results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));
問題是您要對mysql_fetch_assoc進行1次調用,這將獲得第一行(在您的情況下,該行似乎為空)。 構建數組並將其發送到模板中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.