我希望按月和年分组显示它们,如下所示:
<p>
<div>August 2009</div>
<div class="fav">title 1</div>
<div class="fav">title 5</div>
<div class="fav">title 6</div>
etc...
</p>
<p>
<div>July 2009</div>
<div class="fav">title 3</div>
<div class="fav">title 8</div>
<div class="fav">title 9</div>
etc...
</p>
这是我的查询...
$fav = mysql_query("SELECT * FROM links WHERE user_id='{$row['id']}' GROUP BY post_id ORDER BY id DESC");
$TMPL = array (); $skin = new skin('mylinks/my'); $profile = '';
while($myfav = mysql_fetch_array($fav))
{
$favs = mysql_query("SELECT * FROM imdb WHERE id='{$myfav['post_id']}' LIMIT 100");
while($myfavs = mysql_fetch_array($favs))
{
$TMPL['profiles'] = '<div class="fav"><a href="/movie/'.$myfavs['id'].'"><img src="/'.$myfavs['poster'].'" title="Posted '.$myfavs['date'].'" /></a></div>';
$profile .= $skin->make();
}
}
我如何对它们进行分组,然后循环显示如上所示?
非常感谢任何帮助。
答案 0 :(得分:0)
如果我正确读取它,您可以合并两个选择并告诉SQL让您知道他们所属的组。
SELECT *, YEAR(`date`) AS dy, MONTH(`date`) AS dm
FROM links
LEFT JOIN imdb WHERE imdb.id = links.post_id
WHERE links.user_id='{$row['id']}'
GROUP BY links.post_id
ORDER BY links.id DESC
之后,你可以建立自己的一组参赛作品。
$entries = array();
while($entry = mysql_fetch_array($result))
{
$entries[$entry['dy']][$entry['dm']] = $entry;
}
应该为您提供按年和月分组的三维条目数组。之后,您只需遍历$entries
并显示已分组的数据。
如果您想要别的东西,请告诉我。