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://oshiete.goo.ne.jp/qa/2828622.html
どのようにすれば年、月、日のドロップダウンリストを作成できるでしょうか?
ご存知の方いらっしゃいましたらご教示ください。
よろしくお願いします。
No.1
- 回答日時:
いまいち何がしたいのか見えてきません。
仮に
2010-10-05
2011-06-07
2012-11-03
のデータから、年,月,日でドロップダウンを作ったとして
年が2010、2011、2012
月が06、10、11
日が03、05、07
になります
これでは年×月×日の組み合わせ9パターンのうち合致するのは3パターンしかなく
しかもとびとびの月日が表示されあまり意味がないリストではありませんか?
数字入力なしに、年月日をいれさせるだけであれば
年だけ抽出して、月は1~12、日は1~31を選ばせるので十分です。
(もちろん小の月の末日は変ですがリストとはそういうもの)
この回答への補足
yambejpさん
回答ありがとうございます。
>これでは年×月×日の組み合わせ27パターンのうち合致するのは3パターンしかなく
仰る通りなのですが、年月日3つ全てリストから選ぶのを想定しているというより、年月日を「2009年」、「06月」、「05日」など単体でリストから選び検索するのを想定しています。
例えば年と日は選択せず「06月」だけ選択したら各年の6月のレコードのみが抽出される。
もちろん年月日全て選ぶこともあるでしょうが。
>年だけ抽出して、月は1~12、日は1~31を選ばせるので十分です。
なのでこの方法だとデータにない月、日のみ選択され検索される可能性もあります。
結果はもちろん何も抽出できないですが。こういう結果を出来るだけ避けたいです。
ただご指摘の通り、年月日三つ全て選ばれたら抽出されないことが多くありそうですが。
データは過去15年分で全部で1000レコード以上あります。月日だけでいうと365日中抜けているのは30日もないと思うので問題ないかと思ったのですが。
年月日だけ個別に抽出してドロップダウンリストを作成するのは難しいでしょうか?
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- Visual Basic(VBA) vba スライサー 1 2022/08/16 14:07
- Access(アクセス) accessの日付フィールドから前年度だけを取り出したい 3 2022/04/13 23:13
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Visual Basic(VBA) 今日の日付が過ぎたらその行を削除したい 1 2023/04/01 20:06
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「"」(ダブルクォーテーション)...
-
以下のスクリプトの「?」とか「...
-
<input type="hidden" >で配列...
-
チェックボックスのvalueを連結...
-
PHPでファイルアップロード時に...
-
PHPでURLにジャンプするには?
-
検索時の選択内容を保持する方法
-
syntax error, unexpected '}' ...
-
PHP5でsimple_xml_load_fileす...
-
【PHP】PHPでそのファイルが格...
-
フォームボタンを押すたびに数...
-
フォームに入力された値を計算...
-
テキストリンクをPOST送信したい
-
ラジオボタンをsessionで使いたい
-
phpからmysqlの操作について
-
ファイル名を変更してアップロ...
-
php データベース更新
-
HTMLで前の画面に戻る時、入力...
-
POSTデータのNAME属性をVALUEに...
-
PHPとHTML+Xamppの掲示板で画像...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング言語で、使える...
-
プルダウンとCSVの連動
-
複数のセレクトボックスを1つに...
-
複数 selectフォームから今回on...
-
【PHP&JavaScript】複数の別ウ...
-
phpで重複チェック
-
phpでのセレクトボックスの値を...
-
「"」(ダブルクォーテーション)...
-
php セレクトボックス 値取得
-
<select>文、foreachと初期値設定
-
ラジオボタンの値を受け取ってP...
-
連動させたいセレクトボックス...
-
2つのプルダウンメニュから受け...
-
Smartyで、セレクトボックスが...
-
PHP セレクトボックスの値 GET...
-
現在時刻を反映させた時刻のプ...
-
PHPとpostgreSQL プルダウンの作成
-
[Ethna]selectボックスに空値を...
-
GET又はPOSTで受け取るデータに...
-
プルダウンで選択された値を保持
おすすめ情報