Maison > développement back-end > tutoriel php > Comment créer des listes déroulantes dépendantes remplies dynamiquement à l'aide de PHP et AJAX ?

Comment créer des listes déroulantes dépendantes remplies dynamiquement à l'aide de PHP et AJAX ?

Mary-Kate Olsen
Libérer: 2024-12-11 00:04:10
original
452 Les gens l'ont consulté

How to Create Dynamically Populated Dependent Drop-Down Boxes Using PHP and AJAX?

Boîtes déroulantes remplies dynamiquement

Dans cet exemple, nous visons à créer une liste déroulante dynamique dans laquelle les options de la deuxième liste déroulante dépendent de la sélection effectuée dans la première liste déroulante.

Voici une version modifiée de votre code :

tester.php

<html>
    <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <script type="text/javascript">
            $(function() {
                $('#stSelect').change(function() {
                    var sel_stud = $(this).val();
                    $.ajax({
                        type: "POST",
                        url: "another_php_file.php",
                        data: 'theOption=' + sel_stud,
                        success: function(whatigot) {
                            $('#LaDIV').html(whatigot);
                        }
                    });
                });
            });
        </script>
    </head>
<body>

    <select name="students">
Copier après la connexion

another_php_file.php

<?php
$server = 'localhost'; //localhost is the usual name of the server if apache/Linux.
$login = 'root';
$pword = '';
$dbname = 'test';
mysql_connect($server,$login,$pword) or die($connect_error); //or die(mysql_error());
mysql_select_db($dbname) or die($connect_error);

//Get value posted in by ajax
$sel_stud = $_POST['theOption'];

//Run DB query
if($sel_stud == "Electronics"){
    $query = "SELECT * FROM `category` WHERE `master` = 1";
}elseif($sel_stud == "Clothes"){
    $query = "SELECT * FROM `category` WHERE `master` = 2";
}else{
    $query = "SELECT * FROM `category` WHERE `master` = 3";
}
$result = mysql_query($query) or die('Fn another_php_file.php ERROR: ' . mysql_error());
$num_rows_returned = mysql_num_rows($result);

//Prepare response html markup
$r = '
        
        <select>
';

//Parse mysql results and create response string. Response can be an html table, a full page, or just a few characters
if ($num_rows_returned > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        $r = $r . '<option value="' .$row['id']. '">' . $row['name'] . '</option>';
    }
} else {
    $r = '<p>No Items</p>';
}

echo $r;
Copier après la connexion

Dans cet exemple, les options dans la deuxième liste déroulante sont renseignés dynamiquement en fonction de la valeur sélectionnée dans la première liste déroulante. Le tableau des catégories est modifié pour inclure un champ principal pour regrouper les options dans la deuxième liste déroulante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal