※ ChatGPTを利用し、要約された質問です(原文:データベースから年月日を抽出してドロップリスト)
データベースから年月日を抽出してドロップリストを表示する方法
このQ&Aのポイント
MySQLのデータベースから格納されたデータの年、月、日を抽出し、ドロップダウンリストとして表示する方法を知りたいです。
現在、年のみを抽出するドロップダウンリストを作成するコードを使用していますが、月や日のドロップダウンリストを作成する方法が分かりません。
他のウェブサイトで見つけたコードを試したもののエラーが発生しました。年、月、日のドロップダウンリストを作成する方法を教えていただけると助かります。
MySQLに格納したデータから年、月、日を抽出したドロップダウンリストを作成したいのですが。
それぞれ、年、月、日とドロップダウンリストを三つ横に並べて表示したいと考えています。
テーブル名:game
issue(VARCHAR型)|datedating(DATE型)
○|2010-10-05
●|2011-06-07
△|2012-11-03
今現在は下記のコードで年だけを抽出したドロップリストやっています。
自分で考えてやってみたらまぐれで上手く抽出できたコードです。
<select name="year" style="width:85px;">
<option value="">-</option>
<?php
$sql = 'SELECT * FROM game WHERE issue NOT LIKE "" ORDER BY datedating';
$year_list_now=0;
foreach ($dbh->query($sql) as $row) {
$year_list=date('Y',strtotime($row['datedating']));
if($year_list_now < $year_list){
$year_list_now=$year_list;
( $_GET["year"] == $year_list_now ) ? $val = "selected" : $val = "" ;
print '<option value="'.$year_list_now.'" '.$val.'>'.$year_list_now.'年</option>';
}
}
?>
</select>
下記のコードは選択された値(年)を引き継ぐためのコードです。
>( $_GET["year"] == $year_list_now ) ? $val = "selected" : $val = "" ;
同じコードで月、日もいけるかなと思ったのですが、なぜか飛び飛びでしたか作成できませんでした。明らかにデータに格納されている月、日も抜けています。
月、日のドロップダウンリストは下記コードの「Y」の箇所を「m」や「d」にしました。
> $year_list=date('Y',strtotime($row['datedating']));
検索して出てきたこちらのコードがシンプルで良いと思いやってみたのですが、エラーになってしまいました。「`」がよく分かりません。
http://okwave.jp/qa/q2828622.html
どのようにすれば年、月、日のドロップダウンリストを作成できるでしょうか?
ご存知の方いらっしゃいましたらご教示ください。
よろしくお願いします。
お礼
yambejpさん 回答ありがとうございます。 試行錯誤していたらMONTH(datedating)で無事出来ました。 ありがとうございました。