Mysql
 sql >> Base de données >  >> RDS >> Mysql

Base de données MySQL remplie de liste déroulante et de recherche PHP

Vous allez vouloir utiliser AJAX pour appeler un script php à partir de votre page, puis utiliser le script php pour interroger votre base de données et renvoyer les résultats à la page.

Je vais utiliser jQuery pour cet exemple car il économise beaucoup de lignes, vous devriez le vérifier si vous ne l'avez pas déjà fait.

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

Ensuite, votre script php (dont le nom doit correspondre à celui du champ "url" de l'appel ajax (dans ce cas, il doit être nommé "searchOccupation.php") ressemblera à ceci :

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

La partie echo du script php est ce qui renvoie les données dans le "success:function (data)" du javascript, donc faites écho au champ que vous voulez sur la page comme ci-dessus.

Edit :J'ai légèrement mal compris ce que vous vouliez dire, ajon ci-dessus est probablement ce dont vous avez besoin.