我想在两个日期之间获得奖金。
我正在尝试跟踪查询以从mysql获取数据,但它现在正在运行。
$start = $_POST['evnt_date_from'];
$end = $_POST['evnt_date_to'];
$querystr = " SELECT * FROM `wp_postmeta`
WHERE`meta_key` = 'date' AND STR_TO_DATE(meta_value, '%d/%m/%Y') between '".date("Y-m-d", strtotime($start))."' AND '".date("Y-m-d", strtotime($end))."' ORDER BY STR_TO_DATE(meta_value, '%d/%m/%Y') ASC" ;
使用此sql查询来获取2个日期之间的帖子,并发布。
需要帮助修复mysql查询。
任何帮助将不胜感激。
答案 0 :(得分:1)
可能这更好:
$querystr = "SELECT *, STR_TO_DATE(meta_value, '%d/%m/%Y') dated FROM `wp_postmeta`
WHERE`meta_key` = 'date'
AND meta_value between '".date("Y-m-d", strtotime($start))."' AND '".date("Y-m-d", strtotime($end))."'
ORDER BY dated ASC";
您正在尝试将日期(格式d / m / Y)与日期(格式Y-m-d)进行比较
答案 1 :(得分:0)
试试这个:
$querystr = "SELECT *, STR_TO_DATE(meta_value, '%d/%m/%Y') dated FROM `wp_postmeta`
WHERE `meta_key` = 'date'
AND dated between '".date("Y-m-d", strtotime($start))."' AND '".date("Y-m-d", strtotime($end))."'
ORDER BY dated ASC";
答案 2 :(得分:0)
你正在使用wordpress然后你应该使用像这样的wordpress查询 这只是一个例子。根据您的需要改变它
<?php
query_posts( array(
'post_type' => 'event',
'event-category' => 'bmx racing'
'posts_per_page' => '-1',
'orderby' => 'date',
'order' => 'ASC',
'meta_query' => array(
array(
'key' => 'event-start-date', //meta key here
'value' => array( 2012-05-01, 2012-05-31 ), // enter your dates here
'compare' => 'BETWEEN',
'type' => 'date',
),
), ) );
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>