PDO:获得价值
问题描述:
我与PDO含有2个字段的表中获取数据唯一相似的部分名单:评论和日期。PDO:获得价值
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
extract($row);
echo $comment;
echo $date;
}
其中显示所有评论的列表。
现在,我想这些组的评论月,主要目标是创建一个GET值一些过滤器菜单,以便只显示当月评论:
<ul>
<li><a href="comments.php?month=1014">October 2014</a></li>
<li><a href="comments.php?month=1114">November 2014</a></li>
<li><a href="comments.php">December 2014</a></li>
</ul>
我想我应该使用LIKE运算符可以很好地显示结果,但菜单链接生成又如何?
主要问题:$日期是d/M/Y的格式,所以我必须在使用之前处理:
$created = $date;
$month = $created->format('mY');
而且我真的不能提前知道哪个月要在表格中注册,所以它必须是“动态的”。
那么我如何得到每个月出现在表格中的列表?当然没有冗余。像
1014
1114
1214
即使在10月份创建了很多评论。
答
您可以使用MySQL的STR_TO_DATE和DATE_FORMAT函数以您需要的格式返回日期。例如:
SELECT `comment`, DATE_FORMAT(STR_TO_DATE(`date`, "%d/%m/%Y"), "%m%y") as `date2` FROM `data`
如果您需要查询所有独特的月/年的组合,使用DISTINCT:
SELECT DISTINCT DATE_FORMAT(STR_TO_DATE(`date`, "%d/%m/%Y"), "%m%y") as `date2` FROM `data`
这里是展示不同选择一个SQL fiddle。
谢谢你,太棒了。 – kursus 2014-11-24 19:03:56