[英]Smarty foreach mysql issue
在smarty中使用foreach遇到麻烦。
的PHP
$rows4 = array();
$result4 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5");
while($row4 = mysql_fetch_assoc($result4)) {
$rows4[] = $row4;
}
$rows45 = array();
$result45 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5 OFFSET 1");
while($row45 = mysql_fetch_assoc($result45)) {
$rows45[] = $row45;
}
/** assign variable */
$smarty->assign('rows4', $rows4);
$smarty->assign('rows45', $rows45);
tpl
{foreach $rows4 as $row4}
<tr>
<td><center>{$row4.datum|truncate:10:""}</center></td>
<td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td>
</tr>
{/foreach}
但是我现在该如何在此foreach中分配第二个查询,这不起作用:
{foreach $rows4 as $row4 || $rows45 as $row45}
<tr>
<td><center>{$row4.datum|truncate:10:""}</center></td>
<td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td>
</tr>
{/foreach}
尝试这个:
$rows445 = array();
$result4 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5");
while ($row4 = mysql_fetch_assoc($result4)) {
$rows445[]['row4'] = $row4;
}
$result45 = mysql_query("SELECT * FROM stats_follow ORDER BY id DESC LIMIT 5 OFFSET 1");
while ($row45 = mysql_fetch_assoc($result45)) {
$rows445[]['row45'] = $row45;
}
/** assign variable */
$smarty - > assign('rows445', $rows445);
我在$row4
和$row45
得到相同数量的结果,则可以使用增量:
{assign var=i value=0}
{foreach $rows4 as $row4}
{assign var=row45 value=$rows45[i]}
<tr>
<td><center>{$row4.datum|truncate:10:""}</center></td>
<td><center>{$row4.count|truncate:10:""} {$row45.count}</center></td>
</tr>
{assign var=i value=$i+1}
{/foreach}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.