Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Caixa suspensa preenchida com banco de dados MySQL e pesquisa PHP


Você vai querer usar AJAX para chamar um script php da sua página e, em seguida, usar o script php para consultar seu banco de dados e ecoar os resultados de volta para a página.

Eu vou usar jQuery para este exemplo porque ele salva muitas linhas, você deve conferir se ainda não o fez.
<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>

Em seguida, seu script php (cujo nome deve corresponder ao campo "url" da chamada ajax (neste caso, deve ser chamado de "searchOccupation.php") ficará assim:
<?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 
    } 
?>

A parte de eco do script php é o que envia os dados de volta para o "sucesso:função (dados)" do javascript, então echo qualquer campo que você quiser na página como acima.

Edit:Ligeiramente mal entendido o que você quis dizer, o ajon acima é provavelmente o que você precisa.