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

別の選択オプションに応じて、DBから選択オプションをフィードします

    これにはajaxを使用するだけで、一方の選択がサーバーからデータをフェッチして他の選択にフィードするように変更します。

    <select class="select_one">
    <?php /* render first select ?>
    </select>
    <select class="select_two"></select>
    <script>
    $(function() {
    
        $('.select_one').change(function() {
           var select = $('.select_two').empty();
           $.get('script.php', {region: $(this).val()}, function(result) {
               $.each(result, function(i, item) {
                   $('<option value="' + item.value + '">' + item.name + '</option>').
                       appendTo(select);
               });
           });
        });
    });
    </script>
    

    そしてあなたはscript.php dbからJSONを返す必要があります:

    if (isset($_GET['region'])) {
        $sql = new mysqli('localhost','username','password','database');
        $region = mysqli_real_escape_string($sql,$_GET['region']);
        $query = "SELECT * FROM cities WHERE region = $region";
        $ret = $sql->query($query);
        $result = array();
        while ($row = $ret->fetch_assoc()) {
             $result[] = array(
                 'value' => $row['id'],
                 'name' => $row['city']
             );
        }
        echo json_encode($result);
    }
    



    1. SELECT FORUPDATEを使用する理由

    2. 新機能の紹介:Always On Availability Group

    3. PostgreSQL11の新機能

    4. MariaDBでのLIKEオペレーターのしくみ