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

executar código PHP ao selecionar um item de combobox


Você precisará usar AJAX para fazer isso. Aqui está um exemplo simples:

HTML


Apenas uma caixa de seleção simples, para os propósitos deste exemplo.
<select id='items'>
    <option value='1'>Item 1</option>
    <option value='2'>Item 2</option>
    <option value='3'>Item 3</option>
</select>

JavaScript


Eu vou usar jQuery aqui, você não precisa se você não quiser, mas torna o AJAX muito mais fácil.

O navegador escutará uma change evento na caixa de seleção e execute uma solicitação AJAX para a URL apropriada. Quando o servidor enviar dados de volta, a função de sucesso será acionada. Leia mais sobre .ajax() na documentação do jQuery.
$(document).ready(function() {
    $('#items').change(function() {
        $.ajax({
            type: 'GET',
            url: 'pageWithPhpCode.php',
            data: {
                itemID: $(this).val()
            },
            dataType: 'json',
            success: function(data) {
                // do whatever here
                console.log(data);
            }
        });
    });
});

PHP


Aqui estou recuperando os dados, codificação JSON e enviando-o de volta ao cliente com o tipo MIME apropriado. Não tenho certeza de como você se conecta ao seu banco de dados MySQL, mas estou usando DOP aqui.

Tenha em mente que as funções mysql_* são obsoleto .
<?php
if(isset($_GET['itemID'])) {
    $db = new PDO();
    // ... connect to your database, however you do it

    $q = 'SELECT * FROM items WHERE id = :itemid;';
    $stmt = $db->prepare($q);
    $stmt->bindValue(':itemid', $_GET['itemID'], PDO::PARAM_INT);
    $stmt->execute();

    $output = $stmt->fetchAll(PDO::FETCH_ASSOC);

    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($output);
}