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

Ext JS / Sencha Discussion :

Affichage des résultats d'une requête ajax avec des données xml dans un grid


Sujet :

Ext JS / Sencha

  1. #1
    Membre régulier Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 74
    Points
    74
    Par défaut Affichage des résultats d'une requête ajax avec des données xml dans un grid
    Bonjour tout le monde. Je débute en extjs et j'ai quelques soucis dans l'affichage de résultats.
    Je travaille avec une base oracle et je dois extraire des données sous forme xml avec php et les mettre dans des grid. Le problème c'est que je dois récupérer les paramètres de ma requête avec des données d'un grid alimenté dynamiquement. Voici une partie des codes

    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
    PHP : <?php
    include('../config/connexion.php');
    header('Content-type:text/xml;charset:iso-8859-1');
    echo '<?xml version="1.0" encoding="iso-8859-1"?>
    <root>';
    $req1 = "SELECT * FROM PERSONNES WHERE NUM=:NUM";
      $s = oci_parse($ora_conn,$req1);
      oci_bind_by_name($s,":NUM",$_GET['num']);
      oci_execute($s);
      echo '<liste>';
      while($row=oci_fetch_array($s,OCI_NUM))
      {
      echo '<nom>'.$row[0].'</nom>';
      echo '<prenom>'.$row[1].'</prenom>';
      }
      echo '</liste>';
    echo '</root>';
    oci_free_statement($s);
    include('../config/deconnexion.php');
    ?>
    JAVASCRIPT :
    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
    var gridpersonne = new Ext.grid.GridPanel({title:'Liste des personnes',region:'center',id:'listes',width:900,height:500,store:store4,stripeRows: true,stateful: true,columns:[{header: "Nom", width: 50, dataIndex: 'nom', sortable: true},
                {header: "Prénom", width: 180, dataIndex: 'prenom', sortable: true}
    ],sm: new Ext.grid.RowSelectionModel({singleSelect: true,listeners: {
             rowselect: function(sm,index,record) {
    			 liste.setActiveTab(1);
    				var num=record.data.num;
     
    //Cette première requête récupère des données json				Ext.Ajax.request({url:'fonc.php?num='+num,success:function(x){
    				var resultat = Ext.decode(x.responseText);
    				if(resultat)
    				{
    					Ext.getCmp('numero').setValue(resultat.num);Ext.getCmp('param').setValue(resultat.param);
    					Ext.Ajax.request({url:'fonc2.php?num='+num,success:function(x){var resultat = x.responseXML;if(resultat!=-1){storeliste.loadData(resultat);}},failure:function(){Ext.Msg.show({icon:Ext.Msg.ERROR,ttile:'Erreur'});}});
    				  }
    				},
    				 failure:function(){Ext.Msg.show({icon:Ext.Msg.ERROR,ttile:'Erreur'});}});
    				} 
                 }
              }
          )}); 
     
    mon store:
    var storeliste = new Ext.data.XmlStore({record:'liste',fields:[{name:'nom',mapping:'nom'},'prenom']});

    La requête php retourne bien le résultat attendu mais mon grid n'affiche qu'une seule ligne. Même firebug ne me donne pas d'erreur. Aidez-moi svp je bute dessus depuis quelques heures. Merci d'avance

  2. #2
    Membre régulier Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 74
    Points
    74
    Par défaut réctification
    store4 dans le code javascript est en fait storeliste. J'ai fait une petite erreur de copie mais le problème est toujours le même

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 37
    Points : 45
    Points
    45
    Par défaut
    Peux tu mettre ton code entre des balises CODE, qu'il soit lisible ?
    thx

  4. #4
    Membre régulier Avatar de ninatity
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2010
    Messages : 64
    Points : 74
    Points
    74
    Par défaut Youpi j'ai résolu
    En fait j'ai fait une erreur dans ma requête php et c'est pour ça que ça n'a rien affiché.
    Pour ceux qui intéressent voici le code

    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
    <?php
    include('../config/connexion.php');
    header('Content-type:text/xml;charset:iso-8859-1');
    echo '<?xml version="1.0" encoding="iso-8859-1"?>
    <root>';
    $req1 = "SELECT * FROM PERSONNES WHERE NUM=:NUM";
      $s = oci_parse($ora_conn,$req1);
      oci_bind_by_name($s,":NUM",$_GET['num']);
      oci_execute($s);
      
      while($row=oci_fetch_array($s,OCI_NUM))
      {
      echo '<liste>';
      echo '<nom>'.$row[0].'</nom>';
      echo '<prenom>'.$row[1].'</prenom>';
      echo '</liste>';  
    }
      
    echo '</root>';
    oci_free_statement($s);
    include('../config/deconnexion.php');
    ?>

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

Discussions similaires

  1. [SQL] Affichage des résultats d'une requête
    Par alizea77 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 04/01/2008, 01h39
  2. Affichage des résultats d'une requête dans listbox
    Par Deallyra dans le forum VBA Access
    Réponses: 8
    Dernier message: 09/10/2007, 14h09
  3. Réponses: 1
    Dernier message: 17/06/2007, 10h10
  4. Réponses: 2
    Dernier message: 20/04/2007, 13h48
  5. [MySQL] Affichage des résultats d'une requête sur plusieurs pages
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/10/2006, 13h24

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