Sie müssen AJAX verwenden um dies zu tun. Hier ist ein einfaches Beispiel:
HTML
Nur ein einfaches Auswahlfeld für die Zwecke dieses Beispiels.
<select id='items'>
<option value='1'>Item 1</option>
<option value='2'>Item 2</option>
<option value='3'>Item 3</option>
</select>
JavaScript
Ich werde hier jQuery verwenden, Sie müssen nicht, wenn Sie nicht wollen, aber es macht AJAX viel einfacher.
Der Browser wartet auf eine change
event auf das Auswahlfeld und führen Sie eine AJAX-Anfrage an die entsprechende URL durch. Wenn der Server Daten zurücksendet, wird die Erfolgsfunktion ausgelöst. Lesen Sie mehr über .ajax()
in der jQuery-Dokumentation.
$(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
Hier rufe ich die Daten ab, JSON-Codierung es und sendet es mit dem entsprechenden MIME-Typ an den Client zurück. Ich bin mir nicht sicher, wie Sie sich mit Ihrer MySQL-Datenbank verbinden, aber ich verwende g.U. hier.
Denken Sie daran, dass mysql_*-Funktionen
<?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);
}