6

私は PHP+JQUERY の部屋予約アプリケーションを持っています。日付の選択に datepicker ウィジェットを使用していますが、問題が発生しました。データベースに挿入するために、選択した日付 (dd/mm/yyyy 形式) を YYYY-mm-dd 形式に変換しようとしています。最初の日付を選択するとうまく変換されますが、他の日付を選択すると 1969-12-31 という日付が表示されます。ここに私のJQUERYコードがあります:

    $(function() {
    $( "#datepicker" ).datepicker({ 
        showOn: "button",
        buttonImage: "images/calendar.gif",
        buttonImageOnly: true,          
        minDate: 0, 
        maxDate: "+3W", 
        dateFormat: "dd/mm/yy",
        beforeShowDay: function (date) {
        var day = date.getDay();
        return [(day == 0 || day == 1 || day == 2 || day == 3 || day == 4), ''];
        },
        onSelect: function(dateText) {
            $("#registration").load("room.php #registration", {selectedDate: dateText}, function() { 
                $( "input:submit, a, button", ".registration" ).button();
                $( "a", ".registration" ).click(function() { return false; });
            });

        }

    });
    });  

そして、テストのために結果をエコーし​​ます:

    <?php if(isset($_POST['selectedDate']))
           { 
              $selectedDate=$_POST['selectedDate']; 
              echo date('Y-m-d',strtotime((string)$selectedDate)); 
           } 
    ?>

ここに私のアプリの画像があります: http://oi43.tinypic.com/29tv2c.jpg

1 : ここに画像の説明を入力

4

2 に答える 2

1

最終的に私は問題を通り過ぎました。PHPで変換する代わりに、JSで変換しました:

        onSelect: function(dateText) {

        //Converting the date format by spliting the date.
        var dt= dateText;
        var arrDt = dt.split('/');
        var newDt = arrDt[2] + "-" + arrDt[1] + "-" + arrDt[0];

        //Loading the rooms div acoording to the sent selected date in JSON format  
            $("#registration").load("room.php #registration", {selectedDate: newDt}, function() { 
                $( "input:submit, a, button", ".registration" ).button();
                $( "a", ".registration" ).click(function() { return false; });
            });

        }

しかし、date() 関数の変換の問題の原因はまだわかりません!

于 2012-04-08T19:48:14.563 に答える
0

MySQL に保存する選択した日付の種類は何ですか? DATE データ型では、'YYYY-MM-DD 形式を INSERT ステートメントに渡すだけです。

詳細については、この質問を参照してください

また、これ http://dev.mysql.com/doc/refman/5.5/en/datetime.html

于 2012-04-08T14:00:15.353 に答える