我有以下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>
&#13;
答案 0 :(得分:1)
您覆盖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);
}
当您只有一行来自数据库时,您不需要使用while
循环,直接访问结果,例如:
$x = mysql_fetch_assoc($result1); // instead of line with while()