0

私はこれに問題があります。そこで、日付範囲を選択できる from を作成しました。そこから、日付範囲に基づいてデータベースからのレコードがフォームに取り込まれます。とても簡単。

ただ、firefoxでは日付フィールドが動かなかったので、jqueryに切り替えてみました。そしてそれがどのように機能しないか。私はそれがフォーマットの何かであると仮定しています。だからここに私のjqueryコードがあります:

  <script>

  $(function() {
    $( "#from" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 3,
      onClose: function( selectedDate ) {
        $( "#to" ).datepicker( "option", "minDate", selectedDate );
      }
    });
    $( "#to" ).datepicker({
      defaultDate: "+1w",
      changeMonth: true,
      numberOfMonths: 3,
      onClose: function( selectedDate ) {
        $( "#from" ).datepicker( "option", "maxDate", selectedDate );
      }
    });
  });
  </script>

ここにmysqlステートメントがあります:

$sql = "SELECT * FROM v88374 WHERE date >= DATE_FORMAT('" . $from . "', '%Y/%m/%d') AND date <=  DATE_FORMAT('" . $to . "', '%Y/%m/%d')";

どんな助けでも大歓迎です。すべてのブラウザーで動作する必要があり、jquery を切り替えた理由は、基本的な日付フィールドが firefox で動作しないためです....誰かがこれに対するより良い修正を持っている場合、私は間違いなくそれを受け入れます。

4

1 に答える 1

0

SQL クエリで日付を文字列として扱うべきではありません。データベースで適切なデータ型を使用します (おそらくDATE)。次に、値を文字列に追加するのではなく、クエリをパラメーター化する必要があります。

書式設定の問題は、PHP コードに委任する必要があります。入力をdatetimeクラスに解析し、それをパラメーターとして渡します。(strptime関数を使用して解析を行います。)

于 2013-07-24T16:00:27.097 に答える