Je zou naar Javascript of jQuery moeten kijken om je doel te bereiken. Ik heb jQuery gebruikt op basis van mijn vraag aan jou eerder. Het is ook eenvoudiger en minder code.
Uw PHP:
Voeg een ID-kenmerk toe event_menu
naar uw keuzemenu
echo '<select id="event_menu">';
while ($row = mysqli_fetch_assoc($rEvent)) {
echo '<option value="'.$row['event_id'].'">'.$row['event_name'].'</option>';
}
echo '</select>';
<div id="container_for_new_menu"></div>
JQuery gebruiken:
$('#event_menu').on('change', function() {
// get selected value and build data string for AJAX
var event_selected = "event_selected="+$(this).val();
// send the selected data to a PHP page to build the populated menu
$.ajax({
url : 'populate-menu.php',
type: 'POST',
data : event_selected,
dataType : 'html',
success : function(data) {
$('#container_for_new_menu').html(data);
}, error : function() {
alert("Something went wrong!");
}
});
});
Op populate-menu.php , heb zoiets als:
$event_selected = isset($_POST['event_selected']) ? $_POST['event_selected'] : null;
// do SQL query here based on user's selection
// making sure you validate the data in the POST request for malicious BS
// or use parameterized queries
// then build a new menu to send back
echo '<select>';
// loop through results and build options
echo '</select>';
Dit nieuwe menu wordt vervolgens teruggeplaatst op uw oorspronkelijke pagina in het container_for_new_menu
element.