- ベストアンサー
TIMESTAMPを検索するフォームを設けたい
HTMLで上下にフレーム分割し、 ・上段が検索フォーム ・下段が問い合わせ結果のリストアップ、 という構造があるのですが、MYTIME (timestamp(14))という フィールドの検索フォームはどのように設けるのが一般的でしょうか。 例えば、 ・7月1日以降にデータが更新されたレコードのみ抽出、 ・今日の12:00以降に更新されたレコードのみ抽出、のように用いたいです。 MYTIMEには、 20051221080904 20060701194647 などのレコードがあります。 timestampでなく、date型なら、↓のように、 yyyy-mm-dd、yyyy/mm/dd、yyyymmdd書式で問い合わせができることを経験してます。 select myfield,mytime from myfield where mytime >= '20060714' select myfield,mytime from myfield where mytime >= '2006/07/14' select myfield,mytime from myfield where mytime >= '2006-07-14' そのとき、検索フォームは <input type="text" name="date_more" maxlength="10" title="yyyy-mm-dd、yyyy/mm/dd、yyyymmdd書式で入力">以降 <input type="text" name="date_less" maxlength="10" title="yyyy-mm-dd、yyyy/mm/dd、yyyymmdd書式で入力">以前 ・・などとしました。 今回のTIMESTAMP型も、↑と同じでいけますか? 年月日と時分秒は分割したほうがよかったりするのでしょうか? そうすると、SQL文に渡す前に、年月日.時分秒 のようにくっ付けて WHERE条件に加えることになりますよね? 標準的な方法をご教示ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
標準的な方法かは分かりませんが。 <select>年<select>月<select>日<select>時<select>分 ~ <select>年<select>月<select>日<select>時<select>分 $sdate = "{$y1}-{$m1}-{$d1} {$h1}:{$min1}:00"; $edate = "{$y2}-{$m2}-{$d2} {$h2}:{$min2}:00"; $sql = "select * from myfield where mytime >= '{$sdate}' and mytime < '{$edate}'";
その他の回答 (1)
- awazak
- ベストアンサー率36% (61/165)
私は、検索フォームの入力方法は、 年、月、日、必要に応じて、時、分、秒でそれぞれプルダウンで分けます。 また、それが一般的な方法だと思います。
お礼
awazakさん、レスありがとうございました。 ちょうど、#2さんも同じようなアイデアくださいましたね。 ご教示の方法でやってみます。ありがとうございました。
お礼
tany180sxさん、レスありがとうございました。 具体的なプログラム例までご提示いただきありがとうございました。 ご教示の方法でトライしてみます。 ありがとうございました。