Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mit MySQL-Datenbank gefülltes Dropdown-Feld und PHP-Suche

Sie werden AJAX verwenden wollen, um ein PHP-Skript von Ihrer Seite aufzurufen und dann das PHP-Skript verwenden, um Ihre Datenbank abzufragen und die Ergebnisse an die Seite zurückzugeben.

Ich werde jQuery für dieses Beispiel verwenden, weil es viele Zeilen spart, Sie sollten es ausprobieren, wenn Sie es noch nicht getan haben.

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
    <script type="text/javascript">
        function searchOccupation () {
            $.ajax({
                url: "searchOccupation.php?search=" + $('#searchTxt').attr('value'),
                success: function (data) {
                    alert(data);
                }
            });
        }
</script>
</head>
<body>
    <input type="text" id="searchTxt">
    <input type="button" value="Search" id="searchBtn" onclick="searchOccupation()">
</body>

Dann sieht Ihr PHP-Skript (dessen Name mit dem im "url"-Feld des Ajax-Aufrufs übereinstimmen sollte (in diesem Fall sollte es "searchOccupation.php" heißen) wie folgt aus:

<?php
    $searchTxt = $_GET['search'];
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $con = new mysqli('server', 'user', 'password', 'database');
    $sql = "SELECT * FROM tableName WHERE occupation = ?";
    $stmt = $con->prepare($sql);
    $stmt->bind_param('s', $searchTxt);
    $stmt->execute();
    $result = $stmt->get_result();
    while($row = $result->fetch_assoc()) {
        echo $row['firstName'];  //This sends data back to the page 
    } 
?>

Der Echo-Teil des PHP-Skripts sendet Daten zurück an die "success:function (data)" des Javascripts, also geben Sie das gewünschte Feld auf der Seite wie oben wieder.

Bearbeiten:Leicht missverstanden, was Sie meinten, ajon's oben ist wahrscheinlich das, was Sie brauchen.