Smarty:使用 smarty 数组变量填充 html table 列
Smarty: Populate html table columns with smarty array variable
我有以下 PHP 代码:
$Query1 = "Select ReportId,MailingFrequency from reports_scheduler WHERE UserId='$UserId'";
$result1 = db::sql($Query1);
$X = array();
while($x = mysql_fetch_assoc($result1)) {
$this->smarty->assign("X",$x['ReportId']);// This gives '1'
$this->smarty->assign("X",$x['MailingFrequency']);//This gives 'Saturday'
}
我的HTML代码:
{html_table loop=$X}
<table id="resulttable" border="1">
<tr>
<td>$X[0]</td>
<td>$X[1]</td>
</tr>
</table>
当我 运行 我的代码时,不显示值“1”和 'Saturday',只显示 'Saturday'。请帮忙。
你覆盖了 smarty $X
变量,而不是创建数组。在第 6 行,您将 $X
设置为 1,在第 7 行,您将 $X
设置为 'Saturday'
。先前的值被覆盖。
首先创建新数组,然后将其放入 Smarty 模板。
$X = array();
while($x = mysql_fetch_assoc($result1)) {
$X[0] = $x['ReportId'];
$X[1] = $x['MailingFrequency'];
$this->smarty->assign("X", $X);
}
当你只有1行来自DB时,你不需要使用while
循环,直接访问结果,例如:
$x = mysql_fetch_assoc($result1); // instead of line with while()
我有以下 PHP 代码:
$Query1 = "Select ReportId,MailingFrequency from reports_scheduler WHERE UserId='$UserId'";
$result1 = db::sql($Query1);
$X = array();
while($x = mysql_fetch_assoc($result1)) {
$this->smarty->assign("X",$x['ReportId']);// This gives '1'
$this->smarty->assign("X",$x['MailingFrequency']);//This gives 'Saturday'
}
我的HTML代码:
{html_table loop=$X}
<table id="resulttable" border="1">
<tr>
<td>$X[0]</td>
<td>$X[1]</td>
</tr>
</table>
你覆盖了 smarty $X
变量,而不是创建数组。在第 6 行,您将 $X
设置为 1,在第 7 行,您将 $X
设置为 'Saturday'
。先前的值被覆盖。
首先创建新数组,然后将其放入 Smarty 模板。
$X = array();
while($x = mysql_fetch_assoc($result1)) {
$X[0] = $x['ReportId'];
$X[1] = $x['MailingFrequency'];
$this->smarty->assign("X", $X);
}
当你只有1行来自DB时,你不需要使用while
循环,直接访问结果,例如:
$x = mysql_fetch_assoc($result1); // instead of line with while()