IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupérer la valeur d'un select pour générer une autre dynamiquement


Sujet :

Langage PHP

  1. #21
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Points : 10
    Points
    10
    Par défaut
    Dans quelle partie je vais insérer le bouton submit

  2. #22
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par afifi Voir le message
    Dans quelle partie je vais insérer le bouton submit

    ICI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     </select>
     
    <input type='submit' name='ok' value='ok'  />
    </form>
    </body>
    </html>

  3. #23
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Points : 10
    Points
    10
    Par défaut fusion
    Bonjour tout le monde,
    Et ça marche mais lorsque j'ai programmé l'événement
    onchange() sur la première liste déroulante mais la deuxième ne s'affiche pas.
    Voici le code de ma page test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    include "connexion.php";
     
    function xajax_AfficherLesson($id)
    { 
    $reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur
     
    $lesson='';// Initialisation de la variable $lesson
    //la selection des leçons selon le code du chapitre choisis
    $req = mysql_query("SELECT `nl`,`noml` FROM `chapitres`,`lesson` where lesson.nc=".$id." and chapitres.numc=".$id) or die(mysql_error()); 
    $lesson .="<select id=\"lesson\">"; // on commence la declaration de la liste des lessons de ce cahpitre
    $lesson .="<option value=\"00\">Selectionnez Lesson</option>";
     
      while($array = mysql_fetch_array($req))
    {
     
                   $lesson .="<option value=\"".$array['nl']."\">".$array['noml']."</option>";
     
    }
     
    $lesson .="</select>";
     
    $reponse = new xajaxResponse('ISO-8859-1');
    $reponse->addAssign("afflesson","innerHTML",$lesson); // affichage du contenu de $lesson (la liste des leçons) dans le div affVille
    return $reponse->getXML();
    }
     
    require("xajax.inc.php");
    $xajax = new xajax(); //On initialise l'objet xajax
    $xajax->setCharEncoding('ISO-8859-1');
    $xajax->decodeUTF8InputOn();
    $xajax->registerFunction("xajax_AfficherLesson");
    $xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <?php $xajax->printJavascript(); /* Affiche le Javascript */?>
    </head>
     
    <body>
     
        <select  id="c" size="1" OnChange="xajax_AfficherLesson(document.getElementById('c').value);" >
     
          <option value="1">Chapitre 1 </option>
          <option value="2">Chapitre 2 </option>
          <option value="3">Chapitre 3 </option>
          <option value="4">Chapitre 4 </option>
          <option value="5">Chapitre 5 </option>
          <option value="6">Chapitre 6 </option>
        </select>
     
     
    <div id="afflesson">Bonjour</div>
     
     
     
    <p>&nbsp;</p></body>
    </html>
    Pour faire fonctionner Ajax Amesterdam, il y a des fichiers
    que je l'ai copié dans le répertoire racine qui sont :
    le dossier xajax_js
    et le fichiers : xajaxResponse.inc.php, xajaxCompress.php
    et xajax.inc.php
    Est ceque c'est correct ça?

    Voici la réponse mais la récupération de la valeur sélectionner dans la première liste ne se fait pas $_Post
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     
    </head>
     
    <body>
    <select  id="c" size="1" >
     
          <option value="1">Chapitre 1 </option>
          <option value="2">Chapitre 2 </option>
          <option value="3">Chapitre 3 </option>
          <option value="4">Chapitre 4 </option>
          <option value="5">Chapitre 5 </option>
          <option value="6">Chapitre 6 </option>
        </select>
        <?php
     
      echo("<select name=\""."l\""."size=\"1\">");
     $host="localhost";
    $user="root";
    $password="mysql";
    $base="projet";
    $connect=mysql_connect($host,$user,$password);
     
    if($connect==false)
    {die("la connexion a échoué");
    }
     
    $connectbase=mysql_select_db($base);
    if($connectbase==false)
    {
    echo("basse inaccessible");
    }
    $a=$_POST["c"];//récupérer la première valeur de la première liste
     
    $res=mysql_query("select * from chapitres,lesson where lesson.nc=$a and chapitres.numc=$a");
    $i=0;
    //echo"<br> rien";
    while($reg=mysql_fetch_array($res)) 
    {
    $i++;
     
    echo "<option value=\"$i\">"."<br>Leçon".$reg["nl"]." : ".$reg["noml"]."</option> ";
     
    }
    echo"</select>";
    //echo"<br> rien";
    //echo"$a"."bobobo";
    ?>
     
     
     
     
    <!--<div id="afflesson">Bonjour</div>-->
     
     
     
    <p>&nbsp;</p></body>
    </html>
    Si je met $a=$_POST["c"] par $a=4 elle marche en m'affichant les leçons de la 4éme leçon.

  4. #24
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    il n'y a pas d'evenement onchange() dans ton deuxieme code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #25
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Points : 10
    Points
    10
    Par défaut
    Voici le code qui contient l'évènement onchange :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    <?php
    include "connexion.php";
     
    function xajax_AfficherLesson($id)
    { 
    $reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur
     
    $lesson='';// Initialisation de la variable $lesson
    //la selection des leçons selon le code du chapitre choisis
    $req = mysql_query("SELECT `nl`,`noml` FROM `chapitres`,`lesson` where lesson.nc=".$id." and chapitres.numc=".$id) or die(mysql_error()); 
    $lesson .="<select id=\"lesson\">"; // on commence la declaration de la liste des lessons de ce cahpitre
    $lesson .="<option value=\"00\">Selectionnez Lesson</option>";
     
      while($array = mysql_fetch_array($req))
    {
     
                   $lesson .="<option value=\"".$array['nl']."\">".$array['noml']."</option>";
     
    }
     
    $lesson .="</select>";
     
    $reponse = new xajaxResponse('ISO-8859-1');
    $reponse->addAssign("afflesson","innerHTML",$lesson); // affichage du contenu de $lesson (la liste des leçons) dans le div affVille
    return $reponse->getXML();
    }
     
    require("xajax.inc.php");
    $xajax = new xajax(); //On initialise l'objet xajax
    $xajax->setCharEncoding('ISO-8859-1');
    $xajax->decodeUTF8InputOn();
    $xajax->registerFunction("xajax_AfficherLesson");
    $xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <?php $xajax->printJavascript(); /* Affiche le Javascript */?>
    </head>
     
    <body>
     
        <select  id="c" size="1" OnChange="xajax_AfficherLesson(document.getElementById('c').value);" >
     
          <option value="1">Chapitre 1 </option>
          <option value="2">Chapitre 2 </option>
          <option value="3">Chapitre 3 </option>
          <option value="4">Chapitre 4 </option>
          <option value="5">Chapitre 5 </option>
          <option value="6">Chapitre 6 </option>
        </select>
     
     
    <div id="afflesson">Bonjour</div>
     
     
     
    <p>&nbsp;</p></body>
    </html>

  6. #26
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Onchange() declenche une fonction Javascript, pas une fonction PHP.
    Utiliser la console d'erreur de Firefox par exemple si tu te mets au javascript, elle t'aurait signalé que ta fonction n'existait pas.

    D'autre part, la valeur d'une liste de choix est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('c').options[document.getElementById('c').selectedIndex].value;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #27
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Points : 10
    Points
    10
    Par défaut
    Salut tout le monde,
    J'ai consulté le console comme vous avez dit et vous avez raison voici le code que j'ai récupérer à partir du console
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    	<script type="text/javascript">
    var xajaxRequestUri="http://127.0.0.1/site%20web/liste.php";
    var xajaxDebug=false;
    var xajaxStatusMessages=false;
    var xajaxWaitCursor=true;
    var xajaxDefinedGet=0;
    var xajaxDefinedPost=1;
    var xajaxLoaded=false;
    function xajax_AfficherLesson(){return xajax.call("AfficherLesson", arguments, 1);}
    	</script>
    	<script type="text/javascript" src="xajax_js/xajax.js"></script>
    	<script type="text/javascript">
    window.setTimeout(function () { if (!xajaxLoaded) { alert('Error: the xajax Javascript file could not be included. Perhaps the URL is incorrect?\nURL: xajax_js/xajax.js'); } }, 6000);
    	</script>
    </head>
     
     
    <body>
     
        <select  id="c" size="1" OnChange="AfficherLesson(document.getElementById('c').options[document.getElementById('c').selectedIndex].value);" >
     
          <option value="1">Chapitre 1 </option>
          <option value="2">Chapitre 2 </option>
          <option value="3">Chapitre 3 </option>
          <option value="4">Chapitre 4 </option>
          <option value="5">Chapitre 5 </option>
     
          <option value="6">Chapitre 6 </option>
        </select>
     
     
    <div id="afflesson">Bonjour</div>
     
     
     
     
    <p>&nbsp;</p></body>
    </html>

Discussions similaires

  1. Réponses: 7
    Dernier message: 10/01/2013, 16h39
  2. Réponses: 13
    Dernier message: 09/11/2011, 12h06
  3. [AC-2000] Récupérer la valeur d’une liste déroulante pour filtrer une requête SQL
    Par Gremandine dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/03/2010, 15h43
  4. Réponses: 5
    Dernier message: 17/07/2008, 09h18
  5. Réponses: 2
    Dernier message: 11/07/2007, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo