Dovrai utilizzare AJAX per farlo. Ecco un semplice esempio:
HTML
Solo una semplice casella di selezione, ai fini di questo esempio.
<select id='items'>
<option value='1'>Item 1</option>
<option value='2'>Item 2</option>
<option value='3'>Item 3</option>
</select>
JavaScript
Userò jQuery qui, non è necessario se non vuoi, ma rende AJAX molto più semplice.
Il browser ascolterà una change
evento nella casella di selezione ed eseguire una richiesta AJAX all'URL appropriato. Quando il server restituisce i dati, verrà attivata la funzione di successo. Ulteriori informazioni su .ajax()
nella documentazione di 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
Qui sto recuperando i dati, codifica JSON it e rimandandolo al client con il tipo MIME appropriato. Non sono sicuro di come ti connetti al tuo database MySQL, ma sto usando DOP qui.
Tieni presente che le funzioni mysql_* sono deprecato .
<?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);
}