我抓取了wordpress用于显示默认日历的代码,它获取的日期如下:
if ( $day == current_time( 'j' ) &&
$thismonth == current_time( 'm' ) &&
$thisyear == current_time( 'Y' ) ) {
}
使用这些值(日,月和年),我如何编写一个mysql查询来提取在该特定日期创建的帖子?
我尝试以this link作为参考,但是我的SQL技能几乎没有。
已编辑:
我的表名是“ wp_posts”,日期列名为post_date。
根据这里的答案,我做了以下事情:
$date = new DateTime($thisyear."-".$thismonth."-".$day);
$date->setTime($hours, $minutes, $seconds);
$date_format = $date->format("Y-m-d H:i:s");
$request = $pdo->query("SELECT * FROM $wpdb->posts WHERE post_date = ".$date_format);
$result = $request->fetch();
但是当我var_mp $ result时,什么也没发生
var_dump($result);
答案 0 :(得分:0)
如果数据库的字段为“ DATE”类型,则可以(使用PDO):
$date = new DateTime($thisyear."-".$thismonth."-".$day); //__Create my object date
$date_format = $date->format("Y-m-d"); //__Date formatting
$request = $pdo->query("SELECT * FROM my_table WHERE date_article = ".$date_format); //__Create my SQL query
$result = $request->fetch() //__Or 'fetchAll' if many result could be possible
如果数据库字段的类型为“ DATETIME”,则可以(使用PDO):
$date = new DateTime($thisyear."-".$thismonth."-".$day); //__Create my object date
$date->setTime($hours, $minutes, $seconds);
$date_format = $date->format("Y-m-d H:i:s"); //__Date formatting
$request = $pdo->query("SELECT * FROM my_table WHERE date_article = ".$date_format); //__Create my SQL query
$result = $request->fetch() //__Or 'fetchAll' if many result could be possible
$result
将在您的文章中包含您的数组。
答案 1 :(得分:0)
抱歉,我无法对以上答案发表评论。所以我要发表评论作为答案。
我相信会返回注释,因为您的查询不匹配任何值。
第一
转储
$date_format
并查看输出。
第二
将您获得的输出与
中的值进行比较post_date
最后
编辑
$date_format
的结构以相应地匹配post_date
中的值。