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

JavaScript Discussion :

[AJAX] deux listes li�es


Sujet :

JavaScript

  1. #1
    Membre �clair� Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Par d�faut [AJAX] deux listes li�es
    bonjour
    je veux avoir deux listes qui sont li�es.selon ce qui est selectionn� dans la premi�re liste je change le continue de la deuxi�me.
    ma base de donn�es est la suivante:
    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
     
    CREATE TABLE `auteur` (
    `id` tinyint(4) NOT NULL auto_increment,
    `nom` varchar(50) NOT NULL,
    PRIMARY KEY (`id`)
    );
    insert into `auteur` values
    (1,'Clive Cussler'),
    (2,'Harlan Coben'),
    (3,'Franck Herbert'),
    (4,'Pierre Bordages');
    CREATE TABLE `livre` (
    `id` tinyint(4) NOT NULL auto_increment,
    `titre` varchar(50) NOT NULL,
    `idAuteur` tinyint(4) default NULL,
    PRIMARY KEY (`id`)
    ) ;
    insert into `livre` values
    (1,'Odyssee',1),
    (2,'Sahara',1),
    (3,'Dragon',1),
    (4,'Une chance de trop',2),
    (5,'Ne le dis a personne',2),
    (6,'Disparu à jamais',2),
    (7,'Dune',3),
    (8,'La barriere de santaroga',3),
    (9,'Les guerriers du silence',4),
    (10,'La citadelle hyponeros',4),
    (11,'Terra mater',4);
    et j'ai le fichier auteurs.php qui contient les deux listes:
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    <html>
    <head>
    <title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    <script type='text/javascript'>
    function getXhr(){
    var xhr = null;
    if(window.XMLHttpRequest) // Firefox et autres
    xhr = new XMLHttpRequest();
    else if(window.ActiveXObject){ // Internet Explorer
    try {
    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    }
    else { // XMLHttpRequest non supporté par le navigateur
    alert("Votre navigateur ne supporte pas les objets
    XMLHTTPRequest...");
    xhr = false;
    }
    return xhr;
    }
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function go(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
    // On ne fait quelque chose que si on a tout reçu et que le
    serveur est ok
    if(xhr.readyState == 4 && xhr.status == 200){
    leselect = xhr.responseText;
    // On se sert de innerHTML pour rajouter les options
    a la liste
    document.getElementById('livre').innerHTML =
    leselect;
    }
    }
    // Ici on va voir comment faire du post
    xhr.open("POST","ajaxLivre.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('auteur');
    idauteur = sel.options[sel.selectedIndex].value;
    xhr.send("idAuteur="+idauteur);
    }
    </script>
    </head>
    <body>
    <form>
    <fieldset style="width: 500px">
    <legend>Liste liées</legend>
    <label>Auteurs</label>
    <select name='auteur' id='auteur' onchange='go()'>
    <option value='-1'>Aucun</option>
    <?
    mysql_connect('localhost','root','root');
    mysql_select_db('test');
    $res = mysql_query("SELECT * FROM auteur ORDER BY
    nom");
    while($row = mysql_fetch_array($res)){
    $id=$row['id'];
    $nom=$row['nom'];
    echo "<option
    value='$id'>'$nom'</option>";}
    ?>
    </select>
    <label>Livres</label>
    <div id='livre' style='display:inline'>
    <select name='livre'>
    <option value='-1'>Choisir un auteur</option>
    </select>
    </div>
    </fieldset>
    </form>
    </body>
    </html>
    et le script ajaxLivre.php suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    echo "<select name='livre'>";
    if(isset($_POST["idAuteur"])){
    mysql_connect("localhost","root","root");
    mysql_select_db("test");
    $res = mysql_query("SELECT id,titre FROM livre
    WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");
    while($row = mysql_fetch_assoc($res)){
    echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    }
    }
    echo "</select>";
    ?>
    je sais pas pourquoi j'obtient pas de r�sultat avec ce script.
    SVP j'ai besoin de votre aide.
    d'avance merci.

  2. #2
    Membre �clair� Avatar de kawther
    Inscrit en
    Avril 2006
    Messages
    307
    D�tails du profil
    Informations personnelles :
    �ge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 307
    Par d�faut salut
    j'attend encore l'aide de votre part car je suis bloqu�e. SVP si vous avez une id�e n'h�sitez pas � me proposer car j'en est besoin.
    merci

  3. #3
    R�dacteur
    Avatar de marcha
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    D�cembre 2003
    Messages
    1 571
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 1 571
    Par d�faut
    As-tu install� Firebug sur ton FireFox et pu t'assurer:

    1) qu'il n'y a pas d'erreur javascript
    2) observ� le protocol http et pu observer que tout semble normal

    ?

Discussions similaires

  1. [AJAX] 3 listes li�es
    Par oranocha dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 28/11/2007, 13h11
  2. [PEAR][HTML_QuickForm] Deux listes li�es
    Par petchos dans le forum Biblioth�ques et frameworks
    R�ponses: 1
    Dernier message: 22/03/2007, 10h41
  3. [AJAX] plusieurs listes li�es
    Par highman dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 02/03/2007, 10h31
  4. Deux listes lies et un lien
    Par arti2004 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 07/03/2006, 16h44

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