sql >> Databasteknik >  >> RDS >> Mysql

Fyll i HTML/PHP-rullgardinsmenyn baserat på första rullgardinsmenyn

du kan skapa en PHP-fil med begäran och anropa den med AJAX.

getSubCategory.php

<?php
$category = "";
if(isset($_GET['category'])){
    $category = $_GET['category'];
}

/* Connect to the database, I'm using PDO but you could use mysqli */
$dsn = 'mysql:dbname=my_database;host=127.0.0.1';
$user = 'my_user';
$password = 'my_pass';

try {
    $dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

$sql = 'SELECT sub_category_name as subCategory FROM t_menu_category WHERE category_name = :category';
$stmt = $dbh->prepare($sql);
$stmt->bindValue(':category', $category);
$stmt->execute();

return  json_encode($stmt->fetchAll());

och lägg till lite jquery för att fånga när en kategori väljs och be servern om motsvarande underkategori:

<script>
    $(document).ready(function () {
        $('#item_category').on('change', function () {

            //get selected value from category drop down
            var category = $(this).val();

            //select subcategory drop down
            var selectSubCat = $('#item_sub_category');

            if ( category != -1 ) {

                // ask server for sub-categories
                $.getJSON( "getSubCategory.php?category="+category)
                .done(function( result) {    
                    // append each sub-category to second drop down   
                    $.each(result, function(item) {
                        selectSubCat.append($("<option />").val(item.subCategory).text(item.subCategory));
                    });
                    // enable sub-category drop down
                    selectSubCat.prop('disabled', false);                
                });

            } else {                
                // disable sub-category drop down
                selectSubCat.prop('disabled', 'disabled');
            }
        });    

    });
</script>

lägg också till ett värde på ditt första alternativ:

<option value="-1" selected="selected">-- Select Category --</option>


  1. syntaxfel med uppdateringsfråga när du går med i någon tabell

  2. Hur man tar bort oönskade ledande karaktärer från en sträng i MySQL

  3. Fel vid installation av mysql2:Det gick inte att bygga gem native extension

  4. Jämföra virtuella molnmaskiner med hanterad molndatabas