我有一个变量$res,它存储数据库中的一些值。在我的模板中,我想多次将这个变量与foreach一起使用,如下所示:
{foreach $res as $r}
<h1>{$r.name}</h1>
{/foreach}
{foreach $res as $r}
<h1>{$r.image1}</h1>
{/foreach}
在呈现页面时,仅显示第一个foreach。如果我把第二个放在上面,那个就被渲染了。此外,$r和$r都有值$我是不是错过了什么?
问候Steffem
您是否尝试过巧妙的方法来声明foreach?
{foreach item=r from=$res}
首先,我使用了智能示例应用程序中给出的方法:
// database object
var $pdo = null;
// smarty template object
var $tpl = null;
// error messages
var $error = null;
/* set database settings here! */
// PDO database type
var $dbtype = 'mysql';
// PDO database name
var $dbname = 'database';
// PDO database host
var $dbhost = 'localhost';
// PDO database username
var $dbuser = 'guestbook';
// PDO database password
var $dbpass = 'foobar';
然而,在任何地方使用foreach语句两次都不起作用。现在我用一种简单的方法:
mysql_connect("localhost", "username", "foobar") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
这对我来说是可行的,并解决了问题。但是请注意:如果您正在构建一个严肃的web项目,这两种方法都不是真正安全的。当我完成其他东西的构建后,我会处理这个问题。不过,出于开发目的,我完全可以接受。