sql >> Database >  >> RDS >> Mysql

Hoe kan ik een mysql-query uitvoeren wanneer de gebruiker een nieuwe optie selecteert in een selectieveld?

Ja, je moet hier ajax gebruiken. Controleer de volgende code en notities.

Schrijf de functie die een ActiveXObject() . teruggeeft die een ajax-oproep zou doen als

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;
}

Schrijf vervolgens een functie specifiek voor uw site die de gewenste gegevens zou krijgen als

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);
}

}

Deze functie wordt aangeroepen bij wijzigingsgebeurtenis van de cboCategory selecteer opties, zodat de bijbehorende html zou zijn

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

Uw getproduct.php-pagina zou een html als tekenreeks retourneren die de inhoud van producstdiv zou overschrijven tag in uw html-pagina.

U kunt ook gegevens uit php retourneren als . Check de tag wiki voor meer info. U kunt ook gebruiken om ajax-oproepen te doen.




  1. Verbinding gemaakt met Google Cloud SQL valt af en toe weg

  2. Postgresql-socketfout bij het uitvoeren van Django's syncdb (mac OS 10.7.5)

  3. Ondersteuning van door de server opgestelde verklaringen met PDO?

  4. Wat is GEEN logische operator in SQL Server - SQL Server / TSQL-zelfstudie, deel 121