在 Twig 模板中显示 MySQL 个查询结果
Display MySQL Query Results in Twig Template
我正在实施我的第一个 Twig 项目。我有一个 MySQL 数据库。它包括一个 table ,其中每条记录都是一个文档。有标题、编号和描述字段。
没有 Twig,查询所有结果并将它们输出到 table 非常简单。但是,我在获取对 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 查询,return 将结果集作为一个数组,然后将结果发送到模板。模板应遍历数组中的所有项目(每行一个项目)并将它们显示在 table.
中
实际发生的是呈现三行,全部为空白。我的解释是模板看到数组中的三个项目(每个字段一个),而不是查询结果中每个记录的项目。它们是空白的,因为每个字段都没有标题字段。但我不知道如何解决这个问题。
在您的 PHP 中试试这个:
while ($row = mysql_fetch_assoc($query)) {
$results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));
问题是您对 mysql_fetch_assoc 进行了 1 次调用,这将获得第一行(在您的情况下似乎是空白)。构建数组并将其发送到模板中。
我正在实施我的第一个 Twig 项目。我有一个 MySQL 数据库。它包括一个 table ,其中每条记录都是一个文档。有标题、编号和描述字段。
没有 Twig,查询所有结果并将它们输出到 table 非常简单。但是,我在获取对 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 查询,return 将结果集作为一个数组,然后将结果发送到模板。模板应遍历数组中的所有项目(每行一个项目)并将它们显示在 table.
中实际发生的是呈现三行,全部为空白。我的解释是模板看到数组中的三个项目(每个字段一个),而不是查询结果中每个记录的项目。它们是空白的,因为每个字段都没有标题字段。但我不知道如何解决这个问题。
在您的 PHP 中试试这个:
while ($row = mysql_fetch_assoc($query)) {
$results[] = $row;
}
echo $twig -> render('all_reports.html', array('queryResult'=> $results));
问题是您对 mysql_fetch_assoc 进行了 1 次调用,这将获得第一行(在您的情况下似乎是空白)。构建数组并将其发送到模板中。