Php 查询MYSQL以查找仅在2013年发生的事件
我正在尝试搜索我的数据库,并查找仅在特定年份发生的场馆的结果,如2012年、2013年等 问题是,“地点日期”是UNIX时间。现在我在弄清楚如何正确设置搜索格式时遇到了问题。这就是我所拥有的,然而,这个问题仍然吸引着所有的场馆Php 查询MYSQL以查找仅在2013年发生的事件,php,mysql,modx,Php,Mysql,Modx,我正在尝试搜索我的数据库,并查找仅在特定年份发生的场馆的结果,如2012年、2013年等 问题是,“地点日期”是UNIX时间。现在我在弄清楚如何正确设置搜索格式时遇到了问题。这就是我所拥有的,然而,这个问题仍然吸引着所有的场馆 $s = $modx->newQuery('Venues'); $s->where(array(strftime('%Y','Venues.venue_date') => '2012')); $shops = $modx->getCollectio
$s = $modx->newQuery('Venues');
$s->where(array(strftime('%Y','Venues.venue_date') => '2012'));
$shops = $modx->getCollection('Venues',$s);
你知道我想做的事是否可行吗?提前谢谢
解决方案
多亏了这两个答案,我才能够走上正确的轨道。我回顾了这个对我来说本质上是金矿的链接:)下面是简化的代码
$s->where('Year(from_unixtime(ventions.vention_date))=2013年)代码>
再次感谢,希望以后人们会发现这很有用。不确定您的其他代码,但对于选择UNIX时间,如何通过以下方式将日期格式化为UNIX时间戳:
mktime(0, 0, 0, 0, 0, 2012)
所以你的第二行应该是:
$s->where(array(strftime('%Y','Venues.venue_date') => ''.mktime(0, 0, 0, 0, 0, 2012).''));
这个怎么样<代码>来自UNIXTIME('victions.vention\u date','%Y')
谢谢,这让我走上了正确的轨道。我将更新我的问题以显示解决方案。再次感谢你的帮助!