sql >> データベース >  >> RDS >> Mysql

ユーザーが選択フィールドで新しいオプションを選択したときにmysqlクエリを実行するにはどうすればよいですか?

    はい、ここでajaxを使用する必要があります。次のコードとメモを確認してください。

    ActiveXObject()を返す関数を記述します

    としてajax呼び出しを行います
    function getXMLHTTP() {
        var xmlhttp = false;
        try {
            xmlhttp = new XMLHttpRequest();
        } catch (e) {
            try {
                xmlhttp = new XMLHttpRequest();
            } catch (e) {
                try {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {
                    try {
                        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e1) {
                        xmlhttp = false;
                    }
                }
            }
        }
    
        return xmlhttp;
    }
    

    次に、目的のデータを次のように取得するサイト固有の関数を記述します

    function getProducts(){
    var select1 = document.getElementById("cboCategory");
    var strURL = "getproducts.php?city="+select1.options[select1.selectedIndex].value;
    
    var req = getXMLHTTP(); // function to get xmlhttp object
    if (req) {
        req.onreadystatechange = function() {
            if (req.readyState == 4) { // data is retrieved from server
                if (req.status == 200) { // which reprents ok status
                    document.getElementById('productsdiv').innerHTML = req.responseText; // div to be updated
                } else {
                    alert("[GET Products]There was a problem while using XMLHTTP:\n" + req.statusText);
                }
            }
        };
        req.open("GET", strURL, true); // open url using get method
        req.send(null);
    }
    

    }

    この関数は、cboCategoryの変更イベントで呼び出されます。 オプションを選択すると、対応するhtmlは次のようになります

    <select onchange="getProducts()" id="cboCategory" class="box">
      ...
    </select>
    <!-- Can be anywhere on same page -->
    <div id="productdiv"> </div>
    

    getproduct.phpページは、producstdivの内容を上書きする文字列としてhtmlを返します。 HTMLページのタグ。

    phpからデータをjson として返すこともできます 。詳細については、タグwikiを確認してください。また、 を使用することもできます ajax呼び出しを行うため。




    1. 複合主キーを持つレガシー読み取り専用データベーステーブルでDjangoを使用するにはどうすればよいですか?

    2. MySQLプロシージャでSQLEXCEPTIONメッセージを取得する

    3. コマンドラインでpostgresデータベースを作成できますが、bashスクリプトでは作成できません

    4. MySQL:MySql結果の最後の行の合計を取得します