【发布时间】:2012-03-08 01:46:54
【问题描述】:
我无法让我的年份正确回显。
示例:我有 2 篇新闻文章,一篇是 2011 年,另一篇是 2012 年。它们被拆分为正确的“年”div。但是在渲染年份时,它是有效的。但 2011 年和 2012 年相互叠加。像这样的东西。
2012
2011
5.1.12 我的新闻文章
2011 年应该去哪里
5.1.11 我的新闻文章
这是我的代码。
<?
$startYear = 2010;
$endYear = 2012;
for($y = $endYear; $y > $startYear -1; $y--) { ?>
<?
$news = query("SELECT * FROM news_entries
WHERE title > ''
AND published = 1
AND date >= '" . mktime(0,0,0,0,0,$y) . "'
AND date < '" . mktime(0,0,0,0,0,$y+1) . "'
ORDER BY date DESC");
?>
查询的其余部分。
<? if($news['total']>0) { ?>
<h3><? echo $y; ?></h3>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<th class="first" width="125">Date</th>
<th>News Headline</th>
<th width="140"> </th>
</tr>
<? do { ?>
<tr>
<td><span><? echo date("F d, Y",$news['data']['date']); ?></span></td>
<td><a href="<? echo $baseURL . "news/" . $news['data']['id'] . "/" . htaccess_format($news['data']['name']); ?>" title="<? echo $news['data']['headline']; ?>"><? echo $news['data']['headline']; ?></a></td>
<td><a href="<? echo $baseURL . "news/" . $news['data']['id'] . "/" . htaccess_format($news['data']['name']); ?>" title="Learn More" class="button">Learn More</a></td>
</tr>
<? } while($news['data'] = mysql_fetch_assoc($news['object'])); ?>
<? }} ?>
<tr>
<td colspan="2" class="last"></td>
<td class="last"> <a href="javascript:;" title="Back to Top" class="top">Back to Top</a></td>
</tr>
</table>
【问题讨论】:
-
我添加到我原来的问题。
-
您是否也将日期作为 01/01/YYYY 放入数据库中?他们从来没有月/日信息?您在上面所做的实际上排除了 2012 年 1 月 1 日之后的所有日期,对吗? (即实际上不包括 2012 年?)
-
@Kato 他们正在查询一个日期范围,每次 1 年。
-
啊,我的大脑就是拒绝接受;你为什么要做几个查询,而你可以做一个?数据已经排序,那么为什么不一次选择整个范围然后迭代呢?此外,此页面上是否有任何 CSS 或 JavaScript? (可能导致您的问题的因素)
-
我将我的日期作为文本发布。 strtotime($_POST['date']), "文本"
标签: php mysql date sql-order-by