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

AJAX Discussion :

[AJAX] Affichage d'une liste unique à partir d'une requête mySQL


Sujet :

AJAX

  1. #1
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut [AJAX] Affichage d'une liste unique à partir d'une requête mySQL
    Bonjour,

    J'essaie d'avoir une liste déroulante à partir d'une requête mySql.

    j'ai un tableau dont une des cellules est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><select class="form-control a-liste-lu" id="08" title="pretBB1">'.$liste_membres.'</td>';
    ici je pense que je n'appelle pas correctement la liste ($liste_membres).


    j'ai un ajax qui dit :
    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
     
    $(document).ready(function() {
    //au click sur le lien chercher (.class)
    $(".a-liste-lu").click(function(){
    var heure = $(this).attr("id"); //on recupere la valeur de l'attribut id
    var service = $(this).attr("title"); //on recupere la valeur de l'attribut title
    $.ajax({
    type: "GET",
    url: "aff_modif.php?listeLu="+heure+";"+service,
    dataType : "html",
    //affichage de l'erreur en cas de problème
    error:function(msg, string){
    alert( "Error !: " + string );
    },
    success:function(data){
    //alert(data);
    //on met à jour le div zone_de_rechargement avec les données reçus
    //on vide la div et on le cache
    $(select).empty().hide();
    //on affecte les resultats au div
    $(select).append(data);
    //on affiche les resultats avec la transition
    $(select).fadeIn(25);
    }
    });
    });
    })
    ici je pense que le $(select) c'est faux.


    Un partie de mon script php qui appelle la bdd:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $donnees = $reponse->fetchAll(PDO::FETCH_ASSOC);
    foreach($donnees as $row)
    {
      $liste_membres = '<option value="'.$row['id'].'">'.$row['pseudo'].'</option>';
    }
     
      $reponse->closeCursor();

    Pourriez-vous m'aider à concrétiser ma liste ? ;O)

  2. #2
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Peut-être un peu mieux ma cellule...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<td><select class="form-control a-liste-lu" id="08" title="pretBB1">';
    foreach ($liste_membres as $a){echo $a;}
    echo '</select></td>';

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Bonjour PadawanInPerl,

    Ta première impression semble correcte...

    Utilises $(".a-liste-lu") au lieu de $(select).

    Mieux encore, mémorise $(".a-liste-lu") dans une variable que tu pourras utiliser à chaque commande cela t'éviteras de rechercher ton SELECT à chaque commande jQuery.


    devYan

  4. #4
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Merci Devyan pour ta réponse

    si j'ai bien compris cela donne pour mon ajax :

    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
     
     
    $(document).ready(function() {
    //au click sur la class du select
    $(".a-liste-lu").click(function(){
    //on recupere la valeur de l'attribut id et title
    var heure = $(this).attr("id");
    var service = $(this).attr("title");
    $.ajax({
    type: "GET",
    url: "aff_modif.php?listeLu="+heure+";"+service,
    dataType : "html",
    //affichage de l'erreur en cas de problème
    error:function(msg, string){
    alert( "Error !: " + string );
    },
    success:function(data){
    //alert(data);
    //on met à jour le div zone_de_rechargement avec les données reçus
    //on vide la div et on le cache
    $(".a-liste-lu").empty().hide();
    //on affecte les resultats au div
    $(".a-liste-lu").append(data);
    //on affiche les resultats avec la transition
    $(".a-liste-lu").fadeIn(25);
    }
    });
    });
    })
    je posais la question si cela était juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url: "aff_modif.php?listeLu="+heure+";"+service,
    Cela me retourne t-il une valeur1;valeur2 ?

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Je viens de lire plus attentivement ton code (qui n'est pas indenté )

    Si tu regardes la documentation jQuery tu verras que :
    • $(element).click(function(event) { ... });
    • dans la fonction anonyme this vaut element.


    ce qui te donnes :
    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
    $(document).ready(function() {
    	//au click sur la class du select
    	$(".a-liste-lu").click(function(){
    		var $select = $(this);
    		//on recupere la valeur de l'attribut id et title
    		var heure = $select.attr("id");
    		var service = $select.attr("title");
    		$.ajax({
    			type: "GET",
    			url: "aff_modif.php?listeLu="+heure+";"+service,
    			dataType : "html",
    			//affichage de l'erreur en cas de problème
    			error:function(msg, string){
    				alert( "Error !: " + string );
    			},
    			success:function(data){
    				//alert(data);
    				//on met à jour le div zone_de_rechargement avec les données reçus
    				//on vide la div et on le cache
    				$select.empty().hide();
    				//on affecte les resultats au div
    				$select.append(data);
    				//on affiche les resultats avec la transition
    				$select.fadeIn(25);
    			}
    		});
    	});
    })
    En ce qui concerne ton autre question, j'ai envie de répondre "essayes"

    ";" n'est pas un caractère "spécial" pour une URL, tu devrais donc recevoir "valeur1;valeur2" dans le paramètre nommé "listeLu".

    devYan.

  6. #6
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    Merci !!

    Je teste tous cela.

  7. #7
    Membre habitué Avatar de PadawanInPerl
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 462
    Points : 186
    Points
    186
    Par défaut
    encore un petit souci... mais je pense qu'il vient d'ailleurs...

    Je cloture et ouvre un autre post.

    MERCI !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Base de données] Recuperer une liste de tables et une liste de champs d'une table sur LibreOffice & OpenOffice
    Par gerard.sauvage dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 08/04/2014, 12h35
  2. Affichage d'une image a partir d'une liste de references
    Par appericube49 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/06/2013, 16h17
  3. [AJAX] charger liste automatique à partir d'une liste
    Par saedkhella dans le forum AJAX
    Réponses: 1
    Dernier message: 28/01/2011, 13h42
  4. [XL-2007] Liste unique à partir d'une liste de données
    Par Just-Soft dans le forum Excel
    Réponses: 2
    Dernier message: 15/07/2010, 14h34
  5. Réponses: 4
    Dernier message: 03/12/2009, 15h18

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