Mysql
 sql >> база данни >  >> RDS >> Mysql

Попълване на падащи менюта с MySQL записи

Трябва да търсите Javascript или 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 елемент.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заявете MySQL, като поставите отметка в множество квадратчета с автоматична актуализация

  2. mySQL избира пощенски кодове в рамките на x км/мили в обхвата на y

  3. Мога ли да пагинирам персонализирана заявка, без да отменя пагинацията по подразбиране?

  4. mysql къде точно съвпадение

  5. MySQL Case/If/Then