0

入力された日付範囲に従ってMySQLクエリを変更できるようにするjquery UI日付範囲フォームを実装する方法を見つけようとして苦労しています。理想的には、ページをリロードすることなく、日付範囲フォームに新しいクエリ データを動的に導入させたいと考えています。これを行う最善かつ最も簡単な方法は、AJAX を使用してフォーム データをバックエンドの PHP ファイルに送信することです。ただし、AJAX を使用して既存のクエリを変更する方法については混乱しています。メインのフロントエンド ファイルには、次のような日付範囲フォームがあります。

        <form id="myForm" action="#" method="post" name="myform">
            <input type="text" class = "datepicker" id="txtStartDate" placeholder = "Start Date" style = "width : 85px; margin-left: 10px; margin-top: 1mm;"/>
            <br />
            <input type="text"class = "datepicker" id="txtEndDate" placeholder = "End Date" style = "width : 85px; margin-left: 10px;"/>
            <br />
            <input type = "button" name = "submit" value = "Go" style = "margin-left: 10px;"/>
        </form>

私は明らかに AJAX 関数をまだ作成していませんが、日付範囲機能を含めるために変更したい MySQL クエリを示すのに役立つと考えました。日付範囲変数が設定される前は、次のようになります。

SELECT project, participant, reel, machine, qc_gsr, qc_hr, qc_acz, qc_bre 
    FROM rtcdb.session 
    WHERE site = 'ORL001';

これは、日付範囲の PHP 変数が設定された後、次のようになります。

SELECT project, participant, reel, machine, qc_gsr, qc_hr, qc_acz, qc_bre 
    FROM rtcdb.session 
    WHERE site = 'ORL001' 
    AND download_date >= '$start_date' 
    AND download_date <= '$end_date';

全体として、AJAXを使用してフォーム日付をバックエンドPHPスクリプトに送信し、元のファイルのMySQLクエリの使用を変更または切り替えて、設定された日付範囲に関して選択したいと考えています。この質問をご覧いただき、またご理解いただきありがとうございます。それは私にとって価値があります。

4

2 に答える 2

1
$("#myForm").submit(function () { //Ajax event handler on submit
    $.ajax({
        type: "POST",
        data: $(this).serialize(),
        url: "pathToYourScript.php",
        success: function (response) {
            //Warn user everything went okay
        },
        error: function () {
            //Tell there's been an error
        }
    });
});

PHP で、$start_date と $end_date が設定されているかどうかを確認します。正の場合は、クエリを切り替えます (ちなみに、必ず準備済みステートメントを使用してください)。

Ajax でコールバックが必要ない場合は、$.post() メソッドを使用することもできます。必要なものはすべてdocsにあります。

于 2013-06-24T18:46:58.743 に答える