Arrays Smarty在模板中使用foreach两次
我有一个变量$res,它存储数据库中的一些值。 在我的模板中,我希望将此变量与foreach一起使用多次,如下所示:Arrays Smarty在模板中使用foreach两次,arrays,foreach,smarty,Arrays,Foreach,Smarty,我有一个变量$res,它存储数据库中的一些值。 在我的模板中,我希望将此变量与foreach一起使用多次,如下所示: {foreach $res as $r} <h1>{$r.name}</h1> {/foreach} {foreach $res as $r} <h1>{$r.image1}</h1> {/foreach} 呈现页面时,仅显示第一个
{foreach $res as $r}
<h1>{$r.name}</h1>
{/foreach}
{foreach $res as $r}
<h1>{$r.image1}</h1>
{/foreach}
呈现页面时,仅显示第一个foreach。如果我把第二个放在上面,这个就被渲染了。另外,两个$r都有值$
我错过什么了吗
问候
Steffem你有没有尝试过用聪明的方式声明foreach
{foreach item=r from=$res}
首先,我使用smarty示例应用程序中给出的方法:
// 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项目,那么这两种方法都不是真正安全的。当我完成其他东西的构建后,我将处理这个问题。不过,出于开发目的,我完全同意。嘿,这是2.x的声明方式。在3.x中,它与我最初发布的一样。不管怎样,我发现当我用简单的方法建立db连接时,它是有效的,而不是用pdo。你好,Steffen,谢谢你的澄清。您可能希望发布解决方案,作为对其他访问者的礼貌。