sql >> Base de Datos >  >> RDS >> Mysql

Cuadro desplegable con base de datos MySQL y búsqueda PHP

Querrá usar AJAX para llamar a un script php desde su página y luego usar el script php para consultar su base de datos y devolver los resultados a la página.

Voy a utilizar jQuery para este ejemplo porque ahorra muchas líneas, debería comprobarlo si aún no lo ha hecho.

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

Luego, su secuencia de comandos php (cuyo nombre debe coincidir con el del campo "url" de la llamada ajax (en este caso, debe llamarse "searchOccupation.php") se verá así:

<?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 parte de eco del script php es lo que envía datos de regreso al "éxito:función (datos)" del javascript, así que haga eco en cualquier campo que desee en la página como se indica arriba.

Editar:entendí un poco mal lo que quisiste decir, ajon's arriba es probablemente lo que necesitas.