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 :

Récupération de variable impossible


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 43
    Par défaut Récupération de variable impossible
    bonjour

    je souhaite recuperer "exp" et "dest" dans cette div:

    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
     
    <div id="list_profil" class="chat_profils">
    <?php 
    $sql2 = "SELECT dest FROM chat WHERE exp='".$_SESSION["pseudo"]."' GROUP BY dest";
     
    $req2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
     
    while($data2 = mysql_fetch_array($req2))
    {
    $sql3 = mysql_query("SELECT sexe FROM membres WHERE pseudo='".$data2['dest']."'") or die (mysql_error());
    list($sexe) = mysql_fetch_row($sql3);
     
     
     
    if ($sexe == 'Homme')
    {
    echo '<A data-exp="'.$_SESSION['pseudo'].'" data-dest="'.$data2['dest'].'" style="margin-bottom: -15px; color: #007ba2;" class="chat_profils_homme" href="/fiche_cli/affiche_mess.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].'</a>';
    }
    else
    {
    echo '<A data-exp="'.$_SESSION['pseudo'].'" data-dest="'.$data2['dest'].'" style="margin-bottom: -15px; color: #f40e63;" class="chat_profils_homme" href="/fiche_cli/affiche_mess.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].'</a>';
    }
    }
     
    ?>
    </div>
    j'ai essayé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var exp = $('.chat_profils_homme A').attr('data-exp');
     var dest = $('.chat_profils_homme A').attr('data-dest');
     alert(dest);
    et aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var exp = $('#list_profil A').attr('data-exp');
     var dest = $('#list_profil A').attr('data-dest');
     alert(dest);
    mais rien y fait
    soit c'est toujours le même que je recupere soit c'est undefined

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    montrez nous le code HTML qui est généré.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    de plus lorsque l'on souhaite récupérer un data-xxx on utilise la méthode .data().

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Salut alf233,

    je ne comprends pas tes deux requêtes SQL… J’ai cherché à les réduire en une seule avec un JOIN et je me suis rendu compte que dans la première, $_SESSION['pseudo'] est associé à exp, alors que dans la seconde, le champ pseudo est associé à la valeur dest de la première requête. N’y a-t-il pas là une contradiction ?
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 43
    Par défaut
    bonjour

    en fait j'ai deux variable pseudo $_SESSION['pseudo'] qui est exp et $_GET['pseudo'] qui est dest

    j'ai modifié mon système pour changer de discussion

    voici la fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $(".chat_profils_homme").on('click', function(event) {
    event.preventDefault();
    var url = $(this).prop('href');
    $("#fiche-1").load(url);
    });
    j'ai ensuite la fonction qui permet de poster les messages mais quand je poste un message la fonction changer de discution ne foncionne plus ça me recharge la page

    voici la fonction poster:
    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
    $('#ajoute_mess').on('submit', function(e) {
            e.preventDefault();
            var $form = $(this);
            $.ajax({
                url: '/fiche_cli/affiche_mess.php',
                method: 'GET',
                dataType: 'html',
                data: $form.serialize()
            }).then(function (data) {
                $("#affiche_mess").html(data); // Mise à jour des messages
     
     
    			$.ajax({
                url: '/fiche_cli/liste_profil.php',
                method: 'GET',
                dataType: 'html',
                data: $form.serialize()
            }).then(function (data) {
                $("#list_profil").html(data);
    			$('.chat_profils_homme');
    			document.forms['ajoute_mess'].reset();
    			document.getElementById('affiche_mess').scrollTop=document.getElementById('affiche_mess').scrollHeight;
     
     
     
    			}).catch(function (error) {
                console.log(error);
            });
     
     
            }).catch(function (error) {
                console.log(error);
            });
        });

  6. #6
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    Voici mon hypothèse : la page est rechargée parce que le preventDefault n’est pas exécuté. Et ça, c’est sans doute à cause d’une erreur de syntaxe qui empêche tout ou partie du script de fonctionner.

    Pour confirmer cette hypothèse, pourrais-tu ouvrir le panneau des outils de dev avec F12, sélectionner l’onglet console et me rapporter les messages d’erreur que tu vois ? Merci.

    À propos de ton code PHP, tu pourrais gagner à la fois en efficacité et en clarté si tu parvenais à fusionner tes deux requêtes SQL en une seule avec un JOIN. Je suis persuadé que c’est possible, et je peux t’aider si tu n’y arrives pas.

    Par exemple, dans ton interface adminer ou PHPMyAdmin ou autre, essaye ceci :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT sexe
      FROM membres JOIN chat
        ON chat.dest = membres.pseudo
      WHERE chat.exp = 'Martine'

    En remplaçant bien sûr 'Martine' par un nom présent dans ta base.

    Au fait, ce n’est sans doute pas le moment de parler de ça, mais il faut que tu saches que l’API PHP mysql est obsolète. Il faudra que tu t’occupes de ce problème tôt ou tard. Ça peut être l’occasion de passer au requêtes préparées, un moyen facile d’éviter les vulnérabilités SQL les plus fréquentes.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/10/2009, 08h57
  2. [C#] Récupération des variables system...
    Par smyley dans le forum Windows Forms
    Réponses: 7
    Dernier message: 04/08/2005, 11h39
  3. [VB.NET] Problem de récupération de variable avec une DLL
    Par ludovic85 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 19/01/2005, 11h37
  4. Récupération de variable
    Par Fred- dans le forum ASP
    Réponses: 13
    Dernier message: 17/06/2004, 20h13
  5. Récupération de variables dynamiques complexes
    Par ludoboy dans le forum ASP
    Réponses: 7
    Dernier message: 24/05/2004, 17h51

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