आपको अपना लक्ष्य प्राप्त करने के लिए जावास्क्रिप्ट या jQuery को देखना चाहिए। मैंने पहले आपसे अपने प्रश्न के आधार पर jQuery का उपयोग किया है। यह आसान और कम कोड वाला भी है।
आपका PHP:
एक आईडी विशेषता जोड़ें event_menu
आपके चयनित मेनू में
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 का उपयोग करना:
$('#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!");
}
});
});
populate-menu.php . पर , कुछ इस तरह है:
$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>';
फिर यह नया मेनू आपके मूल पृष्ठ पर container_for_new_menu
में वापस पोस्ट कर दिया जाएगा तत्व।