0

私のDBには、MySQL (YYYY-MM-DD HH:MM:SS)の標準日時の日付フィールドがあります。今回取得するトラフ AJAX リクエスト: DD/MM/YYYY

これは、DB を検索するために作成した関数です。

$this->db->get_where('tvprogram', array('DATE(date)' => $date))->result_array();

現時点では、この関数はデータを取得していません。ここで何が間違っているようですか?特定の日のすべてのエントリを検索して見つけるにはどうすればよいですか?

4

3 に答える 3

3

関数を使用strtotimeして日付を正しい形式に変換します。

 $date = date('Y-m-d', strtotime($date));
 $this->db->get_where('tvprogram', array('DATE(date)' => $date))->result_array();
于 2013-03-15T17:13:52.050 に答える
0

最初の投稿日をデータベース形式に変換し、このように検索フィールドで Date 関数を使用してください。

$date = date('Y-m-d', strtotime($search));
$this->db->where('DATE(created)',$date);
于 2016-10-12T03:27:13.307 に答える
-1

DATE(date)おそらくYYYY-MM-DDのようなもので、比較は常に失敗するため、出力される形式を確認してください。

phpMyAdmin などにアクセスしSELECT DATE(now())て、日付形式を再確認してください。

$dateのようなフォーマットの場合DD/MM/YYY、次を使用して再フォーマットできます。

$date=date('Y-m-d',strtotime(strtr($date,"/","-")));

PHP マニュアル ( http://www.php.net/manual/en/function.strtotime.php ) から:

m/d/y または dmy 形式の日付は、さまざまな構成要素間の区切り記号を調べることで明確になります。区切り記号がスラッシュ (/) の場合、アメリカの m/d/y と見なされます。一方、セパレータがダッシュ (-) またはドット (.) の場合は、ヨーロッパの dmy 形式が想定されます。

アメリカとヨーロッパの日付のあいまいさを修正するために、文字列を時刻に変換する前に「/」を「-」に置き換えるだけです。

于 2013-03-15T17:12:54.513 に答える