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

Bibliothèques & Frameworks Discussion :

Liste Déroulante "Ajax + Prototype + MySql"


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 104
    Points : 45
    Points
    45
    Par défaut Liste Déroulante "Ajax + Prototype + MySql"
    Bonjour,
    Avant toutes choses meilleurs vœux pour cette nouvelle année.

    Comme vous pouvez le deviner j'ai un problème avec mon code.
    Je souhaite alimenter une liste déroulante via une une table mysql et ajax en utilisant la librairie prototype.

    L'erreur que j'ai dans la console d'erreur firefox est une erreur de syntaxe que je n'arrive pas à déchiffrer.

    Voici mon select

    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
    <?include "_debut.php";?>
    <script type="text/javascript" src="lib/prototype.js"></script>
    <script type="text/javascript" src="scripts/albums_ajax.js"></script>
    <div id="Content">
       <h1>Albums</h1>
          <div class="block">
             <form action="albums_ajax.php" method="post" enctype="multipart/form-data">
                <table>
                   <tr>
                      <th>Selectionnez Votre Artiste</th>
                      <td><select id="artistes" name="artistes" /></td>
                   </tr>
                   <tr>
                      <th>Entrez L'Album</th>
                      <td><input type="text" name="album" /></td>
                   </tr>
                   <tr>
                      <th>Pochette Album</th>
                      <td><input type="file" name="album_cover" size="50" /></td>
                   </tr>
                   <tr>
                      <th>Année de Sortie</th>
                      <td><input type="text" name="album_release_date" /></td>
                   </tr>
                   <tr>
                   <th></th>
                   <td><input type="submit" value="Valider" id="go" /></td>
                   </tr>
                </table>
             </form>
          </div>
    </div>
    <?include "_fin.php";?>
    Mon script php pour récupérer les infos dans ma base de données SQl

    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
    <?php include_once("connexion.php"); ?>
    <?php
    mysql_select_db($database, $base);
    $query_artists = "SELECT * FROM artists ORDER BY art_name ASC";
    $artists = mysql_query($query_artists, $base) or die(mysql_error());
    $row_artists = mysql_fetch_assoc($artists);
    $result = array();
    ?>
     
    <?php
    do { 
    $result[] = $row_artists;
    } while ($row_artists = mysql_fetch_object($artists));
    echo '{"artists":'.json_encode($result).'}';
    ?>
    Et mon javascript ou se trouve l'erreur

    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
    var getArtist = {
       response: null,
       init: function() {
       if ($('artistes')) {
       while ($('artistes').options.length > 0) {
       $('artistes').remove(0);
       }
       var opt = new Element('option');
       opt.value = "";
       opt.text = "";
       try {
          $('artistes').add(opt, null);
       }
          catch(ex) {
          $('artistes').add(opt);
          }
       var url = 'getArtists.php';
       new Ajax.Request(url, {
       method: "get",
       onSuccess: function(transport) {
       getArtist.response = transport.responseText.evalJSON();
       getArtist.fillInArtistSelect();
       }
       });
    }
    },
    fillInArtistSelect: function() {
       getArtist.response.artists.each(function(elt) {
       var opt = new Element('option');
       opt.value = elt.art_id;
       opt.text = elt.art_name;
       try {
          $('artistes').add(opt, null);
       }
          catch(ex) {
          $('artistes').add(opt);
          }
       }),
    },
    };
    document.observe('dom:loaded', getArtist.init);
    Je vous remercie d'avance

  2. #2
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Bonsoir,

    Si j'ai bien lu ton code JavaScript, il y a des virgules mal placées
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          }
       }),
    },
    };
    document.observe('dom:loaded', getArtist.init);
    devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          }
       });
    }
    };
    document.observe('dom:loaded', getArtist.init);
    Nesmontou
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 104
    Points : 45
    Points
    45
    Par défaut
    Merci pour la remarque je vais corriger ça

Discussions similaires

  1. Liste déroulante et AJAX
    Par NinaSky dans le forum JSF
    Réponses: 7
    Dernier message: 11/08/2008, 12h22
  2. Plusieurs listes déroulantes liées (ajax)
    Par sassien dans le forum Struts 2
    Réponses: 1
    Dernier message: 18/03/2008, 13h52
  3. [MySQL] 2 listes déroulantes avec php et mysql
    Par SHERPAE dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/12/2007, 13h04
  4. Liste déroulante par défaut (table Mysql)
    Par Nyutom dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 24/10/2006, 16h25
  5. [PHP-JS] Liste déroulante + Javascript + Php et Mysql : Besoin d'aide
    Par vampyrx dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/03/2006, 01h40

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