Php 在Twig模板中显示MySQL查询结果

Php 在Twig模板中显示MySQL查询结果,php,mysql,twig,Php,Mysql,Twig,我正在实施我的第一个细枝项目。我有一个MySQL数据库。它包括一个表,其中每个记录都是一个文档。有标题、编号和描述字段 如果没有细枝,查询所有结果并将其输出到表中是非常简单的。但是,我在将查询获取到Twig时遇到了一些困难。这似乎是一项基本任务,但我在Twig文档中或通过四处搜索都没有找到任何类似的示例 细枝模板看起来很像Django/Jinja模板,我比较熟悉。我的模板: {% block Content %} <table border='1' width=100%>

我正在实施我的第一个细枝项目。我有一个MySQL数据库。它包括一个表,其中每个记录都是一个文档。有标题、编号和描述字段

如果没有细枝,查询所有结果并将其输出到表中是非常简单的。但是,我在将查询获取到Twig时遇到了一些困难。这似乎是一项基本任务,但我在Twig文档中或通过四处搜索都没有找到任何类似的示例

细枝模板看起来很像Django/Jinja模板,我比较熟悉。我的模板:

{% block Content %}

<table border='1' width=100%>
    {% for i in queryResult %}
    <tr>
        <td> {{i.Title}} </td>
    </tr>
    {% endfor %}
</table>
{% endblock %}
这似乎是对的。脚本应该执行SQL查询,将结果集作为数组返回,然后将结果发送到模板。模板应该迭代数组中的所有项(每行一项),并在表中显示它们

实际发生的情况是渲染三行,全部为空。我的解释是,模板在数组中看到三项(每个字段一项),而不是查询结果中每个记录一项。它们是空的,因为每个字段都没有标题字段。但是我不知道该怎么解决这个问题。

在PHP中试试这个:

while ($row = mysql_fetch_assoc($query)) {
    $results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));

问题是您正在对mysql\u fetch\u assoc进行1次调用,该调用将获得第一行(在您的示例中,该行似乎为空)。构建数组并将其发送到模板。

只需循环$result将所有数据放入新数组$datas,然后将$datas传递给模板?
while ($row = mysql_fetch_assoc($query)) {
    $results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));