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);
}