Smartyで1つのテーブルで2つの異なるforeachループを使用することは可能ですか?私はすべてを試しましたが、うまくいかないようです。$ numrow配列には10個の結果がありますが、10行すべてに同じものが1つだけ表示されます。
これはSmartyの一般的な問題ですか?
<table width="500">
{foreach from=$categories item=category}
{if $category.fcType == 'm'}
<tr>
<td><strong>{$category.fcName}</strong></td>
<td> </td>
{else}
<tr>
<td><a href="http://localhost/ZendFramework/forum/category?c={$category.fcID}">{$category.fcName}</a></td>
<td>{$category.fcDescription}</td>
{foreach from=$numrows item=numrow}
<td>{$numrow}</td>
{/foreach}
{/if}
{if !empty($category.fuUsername)}
<td>Nieuwste topic toegevoegd door {$category.fuUsername} op {$category.topic_date}</td>
{else}
<td> </td>
{/if}
</tr>
{/foreach}
</table>
php:
$getCat = isset($_GET['c']) ? $_GET['c'] : '';;
$getCat = htmlentities(mysql_real_escape_string($getCat));;
$query_cat = "
SELECT
forum_categories.fcID
,forum_categories.fcName
,forum_categories.fcDescription
,forum_categories.fcParent
,forum_categories.fcType
,forum_users.fuUsername
,DATE_FORMAT(forum_topics.ftDate,'%d-%m-%Y %H:%i:%s') AS topic_date
FROM
forum_categories
LEFT JOIN
forum_topics
ON
forum_topics.fcID = forum_categories.fcID
LEFT JOIN
forum_users
ON
forum_topics.fuID = forum_users.fuID
GROUP BY
forum_categories.fcID
ORDER BY
forum_categories.fcPos
";
$exec_cat = mysql_query($query_cat);
if (($exec_cat) and mysql_num_rows($exec_cat))
{
while($category = mysql_fetch_assoc($exec_cat))
{
$query_count = "
SELECT
forum_topics.ftID
FROM
forum_categories
INNER JOIN
forum_topics
ON
forum_categories.fcID = forum_topics.fcID
WHERE forum_categories.fcID = '".$category['fcID']."'
";
$exec_count = mysql_query($query_count);
$numrows = mysql_num_rows($exec_count);
$numrows[] = $numrows;
echo $numrows;
$this->view->assign("numrows", $numrows);
$categories[] = $category;
$this->view->assign("categories", $categories);
}
}
else
{
echo 'Er zijn nog geen categorieen aanwezig in de database.';
}