簡體   English   中英

在Twig模板中顯示MySQL查詢結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM