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 :

Affichage données !? [AJAX]


Sujet :

jQuery

  1. #21
    Invité
    Invité(e)
    Par défaut
    Et dire que je pensais que c'était un truc tout simple

  2. #22
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    c'est tout simple ...

    Quand on comprend ce que l'on fait ...
    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. #23
    Invité
    Invité(e)
    Par défaut
    Parce que tu sais pourquoi ça déconne ?

  4. #24
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Concentre toi sur la réception de ton JSON ...
    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 !

  5. #25
    Invité
    Invité(e)
    Par défaut
    C'est bon ! ça fonctionne

    En fait, il ne fallait pas enlever le JSON.parse !!

    Code js : 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
    <script>
    $(document).ready(function () {
            $("#MonSelect").change(function(){
            var id=$('#MonSelect').val();
     
                     $.ajax({
                              type: "POST",
                              data: {"ID" : id}, 
                              url: "traitement.php", 
                              dataType: "JSON",
                        success:function(data){
                            var Text = JSON.parse(data);
                            console.log(Text['lieu'], Text['adresse']);
                        $("#input_text").val(Text['lieu']);
                        $("#input_text2").val(Text['adresse']);
                                }
                      });
           });
    });
    </script>

    Merci pour ton aide !

  6. #26
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    là on est dans la quatrième dimension ...

    avec un dataType JSON ton retour doit être un json donc pas besoin de JSON.parse ...

    Tu as un souci là
    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 !

  7. #27
    Invité
    Invité(e)
    Par défaut
    Bon, j'ai enlevé le résolu, je remets le script qui fonctionne sans souci :

    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
    36
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    <script src="js/jquery-latest.js"></script>
    <script>
    $(document).ready(function () {
            $("#MonSelect").change(function(){
            var id=$('#MonSelect').val();
          
                     $.ajax({
                              type: "POST",
                              data: {"ID" : id}, 
                              url: "traitement.php", 
                              dataType: "JSON",
                        success:function(data){
                            var Text = JSON.parse(data);
                            console.log(Text['nom'], Text['adresse']);
                        $("#input_text").val(Text['nom']);
                        $("#input_text2").val(Text['adresse']);
                                }
                      });
           });
    });
    </script>
    </head>
    <body>
    <select name="MonSelect" id="MonSelect" >
    <option value=""selected="selected"><-- Choix Code -->  </option>
      <option value="1">Test</option>
    </select>
    <input name="input_text" type="text" id="input_text" value="" size="30" />
    <input name="input_text2" type="text" id="input_text2" value="" size="10" />
    </body>
    </html>

    la page de traitement :

    Code php : 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
    <?php 
    $database_Consult_ext = "xxx";
    $Consult_ext = mysql_connect("127.0.0.1", "xxx", "xxx");
     
    $ID = $_POST['ID'];
     
    mysql_select_db($database_Consult_ext, $Consult_ext);
    $query_Recordset_Code = "SELECT * FROM test1, test2 WHERE test1.id=test2.id AND test1.id = '$ID'";
    $Recordset_Code = mysql_query($query_Recordset_Code, $Consult_ext) or die(mysql_error());
    $row_Recordset_Code = mysql_fetch_assoc($Recordset_Code);
    $totalRows_Recordset_Code = mysql_num_rows($Recordset_Code);
     
     
     
    echo json_encode($row_Recordset_Code); // le résultat de la requete est envoyé dans un JSON
    ?>

    Moi qui pensais avoir trouvé la solution ... De toute façon, j'étais bloqué à l'étape suivante, je récupère 2 entrées donc je dois mettre en place une boucle ...

    Enfin en attendant, ce script fonctionne ...

  8. #28
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    ça c'est juste contradictoire ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     dataType: "JSON",
                        success:function(data){
                            var Text = JSON.parse(data);
    Ton retour est automatiquement interprété comme un json
    Donc tu ne peux pas parser un json..

    essaye
    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 !

  9. #29
    Invité
    Invité(e)
    Par défaut
    Effectivement, ça fonctionne ! Le datatype est sensible à la case ...

    Du coup, je comprends toujours pas pourquoi FireBug trouvait du JSON dans onglet ...

  10. #30
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Bon du coup, après ton aide et mes différents tests, je me suis rendu compte qu'il allait falloir boucler tout ça pour ce que je voulais ...

    Je vais passer le sujet en résolu mais avant juste savoir si le code suivant ne te semble pas trop moche ... Il fonctionne sans souci par contre.
    (Je vais adapter le nom des ID, etc... Il s'agit de code de test ...)

    essai.php
    Code php : 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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Document sans titre</title>
            <script src="js/jquery-latest.js"></script>
            <script>
                $(document).ready(function () {
                    $("#MonSelect").change(function () {
                        var id = $('#MonSelect').val();
                        $.ajax({
                            type: "POST",
                            data: {"ID": id},
                            url: "traitement.php",
                            dataType: "json",
                            success: function (data) {
                                for (var i = 0; i < data.length; i += 1) {
                                    obj = data[i];
                                    var conteneur = document.getElementById('table_d');
                                    var tr1 = document.createElement('tr');
                                    var td1 = document.createElement('td');
                                    var td2 = document.createElement('td');
                                    var match = document.createElement('input');
                                    var val = document.createElement('input');
                                    match.setAttribute("type", "text");
                                    match.setAttribute("name", "1");
                                    match.setAttribute("value", obj.match);
                                    val.setAttribute("type", "text");
                                    val.setAttribute("name", "2");
                                    val.setAttribute("value", obj.val);
                                    td1.appendChild(match);
                                    td2.appendChild(val);
                                    tr1.appendChild(td1);
                                    tr1.appendChild(td2);
                                    conteneur.appendChild(tr1);
                                }
                            }
                        });
                    });
                });
            </script>
        </head>
        <body>
            <select name="MonSelect" id="MonSelect">
                <option value=""selected="selected"><-- Choix Code -->  </option>
                <option value="1">Test</option>
                <option value="2">Bli</option>
            </select>    
            <table id="table_d"><table>
                    </body>
                    </html>

    traitement.php
    Code php : 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
    $database_Consult_ext = "xxxx";
    $Consult_ext = mysql_connect("127.0.0.1", "xxx", "xxx");
     
    $ID = $_POST['ID'];
     
    mysql_select_db($database_Consult_ext, $Consult_ext);
    $query_Recordset_Code = "SELECT * FROM test1, test2 WHERE test1.id=test2.id AND test1.id = '$ID'";
    $Recordset_Code = mysql_query($query_Recordset_Code, $Consult_ext) or die(mysql_error());
    while ($row = mysql_fetch_assoc($Recordset_Code)) {
        $row_Recordset_Code[] = $row;
    }
    echo json_encode($row_Recordset_Code); // le résultat de la requete est envoyé dans un JSON
    ?>

    Merci à vous ! ;-)

  11. #31
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ah si, c'est affreux...

    Déjà, puisque tu utilises jQuery, fais-le jusqu'au bout.
    Plutôt que ta boucle for, utilises $.each(data, function(index, valeur){...}.
    Ensuite, jQuery permet de créer facilement des éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var $input = $('<input>', {
        type: 'text',
        // toutes les paires attribut / valeur que tu veux
    });
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  12. #32
    Invité
    Invité(e)
    Par défaut
    J'ai mis un peu de temps, ci-joint le bon code! Merci

    Code js : 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
     
                $(document).ready(function () {
                    $("#MonSelect").selectmenu({
                        change:function () {
                        var id = $('#MonSelect').val();
                        $.ajax({
                            type: "POST",
                            data: {"ID": id},
                            url: "traitement.php",
                            dataType: "json",
                            success: function (data) {
                                $('#table_d').empty();
                                $.each(data, function (index, valeur) {
                                    var input_match = $('<input>', {
                                        type: 'text',
                                        value: valeur.match
                                    });
                                    var input_val = $('<input>', {
                                        type: 'text',
                                        value: valeur.val
                                    });                                
                                    var row = $("<tr />");                                
                                    $("#table_d").append(row);
                                    row.append($("<td class='test'>" + input_match.val() + "</td>"));
                                    row.append($("<td class='test'>" + input_val.val() + "</td>"));
                                });
                            }
                        });
                    }
                });
                });

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27
  2. Newbie | affichage donnée d'un formulaire
    Par steve o'steen dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2006, 10h48
  3. [SQL-Server] Pb affichage données dans tableau
    Par steve o'steen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/03/2006, 09h29
  4. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50
  5. Affichage Données avec Espace ds Zone Texte
    Par dai.kaioh dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h43

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