首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Twig模板中显示MySQL查询结果

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

Stack Overflow用户
提问于 2015-09-22 15:09:19
回答 1查看 6.5K关注 0票数 1

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

没有Twig,查询所有结果并将它们输出到表中非常简单。但是,我在将查询转到Twig时遇到了一些困难。这似乎是一项基本任务,但我还没有在Twig文档中或通过搜索找到任何类似的例子。

小枝模板看起来很像Django/Jinja模板,我更熟悉这些模板。我的模板:

代码语言:javascript
复制
{% block Content %}

<table border='1' width=100%>
    {% for i in queryResult %}
    <tr>
        <td> {{i.Title}} </td>
    </tr>
    {% endfor %}
</table>
{% endblock %}

此视图的PHP如下所示:

代码语言:javascript
复制
$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查询,将结果集作为数组返回,然后将结果发送到模板。模板应该遍历数组中的所有项(每行一项),并将它们显示在表中。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-22 15:22:33

在PHP中试试这个:

代码语言:javascript
复制
while ($row = mysql_fetch_assoc($query)) {
    $results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));

问题是,您正在对mysql_fetch_assoc进行1次调用,这将得到第一行(在您的情况下,这似乎是空白的)。构建数组并将其发送到模板中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32720500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档