-4

これが私の選択コードです

<select id="month_id" name="month_id">

  <option value="">Select One</option>

  <option value="<?php echo date('Y-01-01 00:00:00'); ?>">January</option>
  <option value="<?php echo date('Y-02-01 00:00:00'); ?>">February</option>
  <option value="<?php echo date('Y-03-01 00:00:00'); ?>">March</option>
  <option value="<?php echo date('Y-04-01 00:00:00'); ?>">April</option>
  <option value="<?php echo date('Y-05-01 00:00:00'); ?>">May</option>
  <option value="<?php echo date('Y-06-01 00:00:00'); ?>">June</option>
  <option value="<?php echo date('Y-07-01 00:00:00'); ?>">July</option>
  <option value="<?php echo date('Y-08-01 00:00:00'); ?>">August</option>
  <option value="<?php echo date('Y-09-01 00:00:00'); ?>">September</option>
  <option value="<?php echo date('Y-10-01 00:00:00'); ?>">October</option>
  <option value="<?php echo date('Y-11-01 00:00:00'); ?>">November</option>
  <option value="<?php echo date('Y-12-01 00:00:00'); ?>">December</option>
</select>

日付列が2013-01-14 17:40:12のような形式で日付ごとに db テーブルに格納されたデータ

ここで、[1 月] を選択して [送信] をクリックするとします。日付列の値がその年の 1 月 1 日から 31 日までのデータを取得したいと考えています。

4

2 に答える 2

2

あなたは試すことができます

SELECT * FROM `table` WHERE MONTH(date_column)=MONTH('2013-03-31 13:13:10')

のように投稿日から月の値を抽出するだけです

$whole_date=$_POST['month_id'];
$query=" SELECT * FROM `table` WHERE MONTH(date_column)=MONTH('".$whole_date."')";

また

$month=date("m", strtotime($whole_date));
$query=" SELECT * FROM `table` WHERE MONTH(date_column)=$month";
于 2013-07-02T19:11:15.587 に答える
0

年と月だけを送信するように「value=」ステートメントを変更します (または、クエリを生成する前にそれらを解析します)。

次に、クエリは(何か)次のようになります。

select * from <sometable> where YEAR(datecolumn)=<year value> 
       and MONTH(datecolumn)=<month value>
于 2013-07-02T19:03:02.223 に答える