Bonjour, svp es que quelqu'un parmis vous pourra m'aider,je n'arrive pas à trouver la solution :s
je vous explique qu'es ce que j'ai fais, j'ai dabord récupérer le niveau , et les choix depuis ma base de donnée, et maintenant je veux que quand je clique sur un niveau,il m'affiche à la place de choix--> choix1, choix2, choix3, choix4 dans un select, avec une liste des choix du niveau séléctioné avant, pour qu'un utilisateur puisse selectionner son 1er choix, son 2éme... etc. j'espère que j'ai été clair.
je vous montre mon code:
choix.php

<?php

// essayer de connecter avec la bdd...
include_once('connexion.php');

// une fois on recevoir un demande d'obtenir tous les niveaux...
if(isset($_POST['obtNiveaux']))
    ObtNiveaux();

if(isset($_POST['nivPourSpecs']))
    ObtSpecsPourNiv($_POST['nivPourSpecs']);

// Inserer dans la table Etudiant
if(isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['choix']) && isset($_POST['numero_inscription']))
    INSERT($_POST['nom'],$_POST['prenom'],$_POST['date_de_naissance'],$_POST['numero_inscription'],$_POST['email'],$_POST['niveau'],$_POST['choix']);

function ObtNiveaux()
{
    $query = 'SELECT * FROM NIVEAU';
    if(@$query_run = mysql_query($query))
        while($niv = mysql_fetch_assoc($query_run))
            echo $niv['NOM_NIV']."\n";
}

function ObtSpecsPourNiv($niv)
{
    // mysql_real_escape_string() : pour éviter SQL Injection
    // htmlentities() : pour éviter XSS attaques
    $query = 'SELECT NOM_SPT FROM `SPECIALITE` WHERE NOM_NIV="'.mysql_real_escape_string($niv).'"';
    if(@$query_run = mysql_query($query))
        while($spec = mysql_fetch_assoc($query_run))
            echo $spec['NOM_SPT']."\n";
}

function INSERT($nom,$prenom,$date,$n,$email,$niv,$spec)
{
    $query = 'INSERT INTO `Etudiant` VALUES("'.mysql_real_escape_string($n).'","'.mysql_real_escape_string($nom).'",
        "'.mysql_real_escape_string($prenom).'","'.mysql_real_escape_string($date).'","'.mysql_real_escape_string($email).'",
        "'.mysql_real_escape_string($niv).'","'.mysql_real_escape_string($spec).'")';
    if(@mysql_query($query))
        echo 'insertion avec succés';
    else
        echo 'erreur lorsque l\'inesrtion';
}

?>

choix.html

<html>
    <head>
        <title>
            Liste des Choix
        </title>
        <link rel="stylesheet" href="css/choix.css"/>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    </head>

    <body bgcolor="lightblue">

        <div class="notification">Une erreur se produit lorque l'envoie de votre choix</div>

        <form class="form">
            <ul id="list">
                <li><h2>Liste des Choix</h2><span id="required_notification">* Champ Obligatoire</span></li>
                <li>
                    <label for="#lName">Nom:</label>                    
                    <input type="text" id="lName" placeholder="nom"  name="nom"required/>
                </li>
                <li>
                    <label for="#fName">Prenom:</label>
                    <input type="text" id="fName" placeholder="prenom" name="prenom" required/>
                </li>
                <li>
                    <label for="#birthday">Date de Naissance:</label>
                    <input type="hidden" name="date_de_naissance" >
                    <select name="bday" id="bday" required>
                    </select>
                    <select name="bmonth" id="bmonth" required></select>
                    <select name="byear" id="byear" required></select>
                </li>
                <li>
                    <label for="#studentN">numero d'inscription:</label>
                    <input type="text" id="studentN" placeholder="numero d'inscription"  name="numero_inscription" required/>
                </li>
                <li>
                    <label for="#email">Email:</label>
                    <input type="email" id="email" placeholder="email" name="email" required/>                    
                </li>
                <li>
                    <label for="#studyLvls">Niveau d'Etude:</label>
                    <input type="hidden" name="niveau" >
                    <select name="studyLvls" id="studyLvls" required >
                    </select>
                </li>
                <li>
                   <h3>Choix:</h3>

            <input type="hidden" name="choix" >
                    <div class="choices">

                        <ul>

                       </ul>

                    </div>

                </li>
                 <li>
                   <h3>Choix:</h3>

            <input type="hidden" name="choix" >
                    <div class="choices">

                        <ul>

                       </ul>

                    </div>

                </li>

                <li>
                    <input type="submit" id="submit" value="Envoyer" />
                </li>
            </ul>

        </form>

        <script src="js/jquery-2.1.4.js"></script>
        <script src="js/jquery-ui.js"></script>

        <script>
            // une fois la page sera chargé
            $(document).ready(function(){
                for(var i=1;i<=31;i++)
                    $('#bday').append('<option>'+((i<10)?'0':'')+i+'</option>');

                for(var i=1;i<=12;i++)
                    $('#bmonth').append('<option>'+((i<10)?'0':'')+i+'</option>');

                for(var i=1940;i<=1997;i++)
                    $('#byear').append('<option>'+i+'</option>');

                // Obtenir la liste des niveaux....
                $.ajax({
                    url:'php/choix.php',
                    type:'post',
                    data:{
                        obtNiveaux:'*'
                    },
                    success: function(niv){
                        // L1 MI\nL3 Informatique\nL3 Math\n\n\n\n\n\n\n\n
                        var tab = (niv.trim()+'\n').split('\n');
                        for(var i = 0;i<tab.length-1;i++)
                            $('#studyLvls').append('<option>'+tab[i]+'</option>');
                        $('#studyLvls').change();
                    }
                });

            });

            $(document).on('change','#studyLvls',function(){
               $.ajax({
                   url:'php/choix.php',
                   type:'post',
                   data:{
                       nivPourSpecs:$(this).val()
                   },
                   success: function(specs){

                       $('.choice').each(function(){
                           $(this).parent().remove();
                       });

                        // GL\nMID\nSIC\nRSD\n\n\n\n\n\n\n\n\n
                        var tab = (specs.trim()+'\n').split('\n');
                        for(var i = 0;i<tab.length-1;i++)
                            $('.choices ul').append('<li><div class="choice">'+tab[i]+'</div></li>');
                       // permet de trier les elements avec le curseur
                       $('.choices ul').sortable();
                   }
               }); 
            });

            $('.form').on('submit',function(e){
                // annuler l'envoie automtique
                e.preventDefault();

                var date = $('#bday').val()+'/'+$('#bmonth').val()+'/'+$('#byear').val(); // 01/01/1994

                var spec = '';
                $('.choice').each(function(){
                    spec += $(this).text()+'|';
                });
                spec = spec.substring(0,spec.length-1);

                console.log(spec);

                $.ajax({
                    url:'php/choix.php',
                    type:'post',
                    data:{
                        nom:$('#lName').val(),
                        prenom:$('#fName').val(),
                        dateNaiss:date,
                        n_etud:$('#studentN').val(),
                        email:$('#email').val(),
                        niveau:$('#studyLvls').val(),
                        spec:spec
                    },
                    success: function(resultat){
                        if(resultat != 'insertion avec succés')
                        {
                            $('.notification').css('top','-12px');
                            setTimeout(function(){
                                $('.notification').css('top','-70px');
                            },4000);
                        }
                        else
                        {
                            $('.form')[0].reset();
                            window.location.reload(); // actualisé la page ;...
                        }
                    }
                });
            });

            $('body').on('click',function(){
                $('.choice').each(function(){
                    console.log($(this).parent().index()+','+$(this).parent().text());
                });
            });

        </script>

    </body>

</html>

Merci.

2 réponses


fleur
Auteur
Réponse acceptée

C'est bon j'ai trouvé la solution.Merci

fleur
Auteur

pas de reponse :s :s