Vous devrez utiliser AJAX pour faire ça. Voici un exemple simple :
HTML
Juste une simple case de sélection, pour les besoins de cet exemple.
<select id='items'>
<option value='1'>Item 1</option>
<option value='2'>Item 2</option>
<option value='3'>Item 3</option>
</select>
JavaScript
Je vais utiliser jQuery ici, vous n'êtes pas obligé de le faire si vous ne le souhaitez pas, mais cela rend AJAX beaucoup plus facile.
Le navigateur écoutera un change
événement sur la zone de sélection et effectuez une requête AJAX vers l'URL appropriée. Lorsque le serveur renvoie des données, la fonction de réussite sera déclenchée. En savoir plus sur .ajax()
dans la documentation 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
Ici, je récupère les données, Encodage JSON et le renvoyer au client avec le type MIME approprié. Je ne sais pas comment vous vous connectez à votre base de données MySQL, mais j'utilise AOP ici.
Gardez à l'esprit que les fonctions mysql_* sont obsolète .
<?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);
}