2012-02-22 10 views
-2

私は以前同様の質問をしましたが、すべての事実はありませんでした。このクエリを変更して現在の日付より前のすべての日付を除外するにはどうすればよいですか?SQLの過去の日付

$result = $wpdb->get_results("SELECT * FROM wp_location_date WHERE location=$id ORDER BY location_date"); 

WordPressのfunction.phpファイルの完全(ish)コード。

add_action('wp_ajax_nopriv_fetch_dates', 'get_location_date'); 
add_action('wp_ajax_fetch_dates', 'get_location_date'); 
function get_location_date() { 
global $wpdb; 
ob_clean(); 
$id = $_POST['id']; // Get the Request Id; 

$result = $wpdb->get_results("SELECT * FROM wp_location_date WHERE location=$id ORDER BY location_date"); 
foreach ($result as $value) { 
    $option .= '<option value="'.$value->id.'">'; 
    $option .= $value->date_coment; 
    $option .= '</option>'; 
    } 
echo '<option value="0" selected="selected">Select Date</option>'.$option; 

ご協力いただきありがとうございます。

+1

あなたの質問は何ですか? – muratgu

+0

私は考えています*彼らの質問は、今日よりも早い日付のレコードを除外するようにクエリを調整する方法でした。 (投稿を変更して投稿をより明確にする) – Leigh

答えて

1
$result = $wpdb->get_results("SELECT * FROM wp_location_date WHERE location=$id and location_date >= curdate() ORDER BY location_date"); 

SQLノートでは、未処理のユーザー入力は使用しないでください。

$id = intval($_POST['id']); 

または

$result = $wpdb->get_results('SELECT * FROM wp_location_date WHERE location="'.mysql_real_escape_string($id).'" and location_date >= curdate() ORDER BY location_date'); 
1

location_dateのデータ型は何のような、文字列と整数のINTVALにmysql_real_escape_stringのを使用しますか? MySQL Reference Guide

$result = $wpdb->get_results("SELECT * FROM wp_location_date WHERE location=$id AND location_date > current_date - 1 ORDER BY location_date"); 

さらに詳しい情報: あなたはこれを試みることができます。

関連する問題