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

jQuery Discussion :

Trois listes chainées


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par défaut Trois listes chainées
    Bonjour,

    Ca fait plus d'une semaine que je galère à me faire 3 foutues listes chaînées de m*rde, je suis à bout, il faut que je post sur developpez.net avant que je me défenêstre

    Vous l'aurez deviné, ce que j'essaie de faire actuellement, c'est de l'AJAX. Et je suis très mauvais d'ailleurs

    Ma base de données : Gamme, produit, erreur. Je clique sur une gamme, il me filtre les produits dans la deuxième liste puis les erreurs dans la troisième, une liste chaînée quoi
    Une connaissance m'avait filé un bout de code dans lequel il y avait ce type de liste (entre autre, bonjour l'adaptation du code ), sauf qu'il y en a que deux, et j'en veux 3, de listes.
    Je suis pas sorti de l'auberge

    Voilà où j'en suis :

    Html et script:
    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
     
    <script type="text/javascript" src="javascript/jquery-1.4.1.min.js"></script>
    <script type="text/javascript">
    	$(function($) {
    		$('#put').change(function(){
    			$('#tag option:gt(0)').remove();
    			if ($('#put').val() >= 0 ) {
    				$.ajax({type: "POST",
    					dataType:"default",
    					url: "listeTag.php",
    					data: "id=" + $('#put').val(),
    					error: function() {alert('Erreur de communication ou d\instructions avec le serveur');},
    					success: function(data){
    						$.each(data, function(key, val) {
    							$('#tag').append('<option value="' + val.d_prj_id + '">' + val.d_prj_tag + '</option>');
    						})
    					}
    				});
    			}
    		});
    	});
    </script>
     
    <?php 
    try{$bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));}
    catch(Exception $e){die('Erreur : ' . $e->getMessage());}?>	
     
    <fieldset>
    	<legend>Sélection du projet</legend>
    	<form method="post" action="#">
    			<label>PUT : </label>
    			<select id="put">
    				<option value="-1">Aucune</option><?php
                                    $req=$bdd->query('SELECT nom, id FROM gamme ORDER BY nom');
                                    while($dreq=$req->fetch())
                                    {?>
    					<option value="<?php echo $dreq['id'];?>"><?php echo $dreq['nom']; ?></option><?php 
                                    }?>
    			</select>
     
    			<label>TAG : </label>
    			<select id="tag" name="tag">
    				<option value="-1">Choisir une PUT</option>
    			</select>
     
    			<input type="submit" name="consulterProjet" value="Consulter le projet" />
    	</form>
    </fieldset>
    page de traitement php
    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
     
    <?php 
    try{$bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));}
    catch(Exception $e){die('Erreur : ' . $e->getMessage());}	
     
    $listeTag = array(); 
     
    if(isset($_POST['id']))
    {
        // récupération du libellé de la put correspondant à l'identifiant
        require_once '../model/sqlPut.php';
        $debTag = retourneNumPut($db, $_POST['id']);
     
        // récupération des tags SN - libellé PUT (ex : SN08****)
        $requete = $db->prepare ('SELECT id, nom FROM produit WHERE id_gamme="'.$debTag.'" ORDER BY nom');
        $requete->execute(array());
        $listeTag = $requete->fetchAll();
        $requete->closeCursor();
    }
     
    echo $listeTag;
     
    // initialisation de l'accès à la base de données
    // récupération des variables postées dans la requête ajax
    // requête vers la base de données
    // echo du résultat (au format json, html ...)
    ?>
    Je vous remercie d'avance, j'espère vraiment enfin faire fonctionner cette liste ...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par défaut
    Shit, pourquoi je n'ai jamais rien lu là-dessus ?
    Merci merci !!!

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par défaut
    Re-bonjour,

    Désolé de vous re-solliciter, mais je ne trouve pas mon erreur.
    Ma bdd peut se schématiser comme ceci :
    gamme (id, nom), produit(id, nom, id_gamme (id de la gamme a laquel il appartient)), erreur(id, nom, id_produit (idem)).

    Du coup ma liste : je choisis une gamme puis un produit puis une erreur d'où :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $("#produit").chained("#gamme"); 
    $("#erreur").chained("#produit");
    Et mon code, est celui-ci:
    Code html : 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
    <form>
    	<fieldset>
    		<legend><h3>Edition</h3></legend>
    		<?php
                    try{$bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));}
                    catch(Exception $e){die('Erreur : ' . $e->getMessage());}?>
     
    		<select id="gamme" name="gamme">
    		<option value="">--Choisir une gamme--</option><?php
                    $req1=$bdd->query('SELECT nom, id FROM gamme ORDER BY nom');
                    while($dreq1=$req1->fetch())
                    {?>
    			<option value="<?php echo $dreq1['id'];?>"><?php echo $dreq1['nom'];?></option><?php
                    }?>
    		</select>
     
    		<select id="produit" name="produit">
    		<option value="">--Choisir un produit--</option><?php
                    $req2=$bdd->query('SELECT nom, id_gamme FROM produit ORDER BY nom');
                    while($dreq2=$req2->fetch())
                    {?>
    			<option value="<?php echo $dreq2['nom'];?>" class="<?php echo $dreq2['id_gamme'];?>"><?php echo $dreq2['nom'];?></option><?php
                    }?>
    		</select>
     
    		<select id="erreur" name="erreur">
    		<option value="">-Choisir une erreur-</option><?php
                    $req3=$bdd->query('SELECT nom, id_produit FROM erreur ORDER BY nom');
                    while($dreq3=$req3->fetch())
                    {?>
    			<option value="<?php echo $dreq3['nom'];?>" class="<?php echo $dreq3['id_produit'];?>"><?php echo $dreq3['nom'];?></option><?php
                    }?>
    		</select>
    	</fieldset>
    </form>

    Au final j'ai tous mes gammes, mes produits, mes erreurs dans leur liste respectives et aucun tri n'est fait.
    J'ai fait un alert('Chargé') après le script changed pour voir si ça passais, ça fonctionne.
    J'ai donc une erreur dans mes id/class, je n'arrive pas à la trouver...

    Merci d'avance

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    tu as chargé le plugin chained ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    tu as chargé le plugin chained ?
    Oui oui bien sûr !
    Je me suis peut-être mal exprimé mais, dans mon post précédent, lorsque je parlais de j'ai voulu dire que c'étais un test pour voir si le plugin fonctionnait correctement, puisqu'en fait, j'ai écris cette ligne juste après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $("#produit").chained("#gamme"); 
    $("#erreur").chained("#produit");
    Ce qui suppose que le plugin changed a bien été chargé, et fais son boulot correctement !
    Et de toute façon Firebug affiche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [HTTP/1.1 304 Not Modified 10ms]
    Donc oui le plugin est bien chargé, donc a fortiori ce n'est pas la source du problème ...

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/02/2005, 23h42
  2. Bibliothèque de listes chainées
    Par gege2061 dans le forum C
    Réponses: 29
    Dernier message: 17/12/2004, 20h15
  3. copie de liste chainée
    Par tomsoyer dans le forum C++
    Réponses: 15
    Dernier message: 31/08/2004, 18h20
  4. Trie liste chaine
    Par Congru dans le forum C
    Réponses: 2
    Dernier message: 30/03/2004, 19h05
  5. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25

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