sql >> データベース >  >> RDS >> Mysql

ドロップダウンにMySQLエントリを入力する

    目標を達成するには、JavascriptまたはjQueryを検討する必要があります。以前の質問に基づいてjQueryを使用しました。また、よりシンプルでコードも少なくて済みます。

    あなたのPHP:

    ID属性を追加します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. MicrosoftAccessのSalesforceデータへのリンク

    2. SQL Serverトランザクションログ、パート3:ログの基本

    3. バックアップファイルからMysqlデータベースを回復する方法

    4. 非推奨のoracle.sql.ArrayDescriptor、oracle.sql.STRUCT、およびoracle.sql.StructDescriptorを修正する方法