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

Langage PHP Discussion :

[POO] probleme recup données POO


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut [POO] probleme recup données POO
    bonjour, j'ai une class frais avec une méthode permettant de lister tous les frais via une BDD.
    voici ma méthode :

    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
     
    function listerFrais()
    {	   
    $sql = "SELECT frais.numFrais, frais.dateFrais, frais.libelle, frais.montantHT, TVA.tauxTVA, frais.montantTVA, frais.montantTTC 
    	FROM frais 
    	INNER JOIN TVA ON (frais.numTVA = TVA.numTauxTVA)
    	WHERE numNote = ".$numNote; 	   
     
    	$result = mysql_query($sql);
     
    		/** AFFICHAGE DES DONNEES
    		**
    		*/
    	while ($row = mysql_fetch_object($result)) 	
    	{  
              $ToListerFrais= array("numFrais"=>$row->numFrais,"numDateFrais"=>$row->dateFrais,"libelle"=>$row->libelle,"montantHT"=>$row->montantHT,"tauxTVA"=>$row->tauxTVA,"montantTVA"=>$row->montantTVA,"montantTTC"=>$row->montantTTC); 
     
    	}
     
    	return $ToListerFrais;
     
    }
    Ce que je veux faire c'est pouvoir récuperer tous les frais, donc là normalement tant que j'ai des données ça me les mets dans mon tableau et ensuite ça me retourne mon tableau.

    seulement, quand dans une autre page je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ToListerFrais = $oListingFrais->listerFrais();
    var_dump($ToListerFrais);
    je n'ai que le résultat d'une seule ligne de requete (au lieu de 2)...
    pourtant mon return n'est pas dans mon while...je vois pas pourquoi..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(7) { ["numFrais"]=>  string(3) "164" ["numDateFrais"]=>  string(10) "2007-04-16" ["libelle"]=>  string(5) "test2" ["montantHT"]=>  string(5) "79.80" ["tauxTVA"]=>  string(3) "5.5" ["montantTVA"]=>  string(4) "4.39" ["montantTTC"]=>  string(5) "84.19" }
    et si je fais mon var_dump dans ma méthode juste avant mon return et après mon while j'ai bien tout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array(7) { ["numFrais"]=>  string(3) "164" ["numDateFrais"]=>  string(10) "2007-04-16" ["libelle"]=>  string(5) "test2" ["montantHT"]=>  string(5) "79.80" ["tauxTVA"]=>  string(3) "5.5" ["montantTVA"]=>  string(4) "4.39" ["montantTTC"]=>  string(5) "84.19" } array(7) { ["numFrais"]=>  string(3) "164" ["numDateFrais"]=>  string(10) "2007-04-16" ["libelle"]=>  string(5) "test2" ["montantHT"]=>  string(5) "79.80" ["tauxTVA"]=>  string(3) "5.5" ["montantTVA"]=>  string(4) "4.39" ["montantTTC"]=>  string(5) "84.19"
    si quelqu'un à une idée.... merci ;-)

  2. #2
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Salut,
    Citation Envoyé par maysa
    pourtant mon return n'est pas dans mon while...je vois pas pourquoi..
    et bien si ta requête SQL te renvoit plusieurs résultats (imaginons 3 par exemple), voilà ce que ton programme va faire :

    requête SQL qui renvoit 3 résultats
    $ToListerFrais = résultat 1
    $ToListerFrais = résultat 2
    $ToListerFrais = résultat 3
    retourner $ToListerFrais (qui ne contient que résultat 3, vu que tu écrases les autres avant).

    Est-ce que tu as compris ?
    Est-ce que tu vois comment résoudre le problème ?
    a+

  3. #3
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    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
    function listerFrais()
    {   
       $sql = "SELECT frais.numFrais, frais.dateFrais, frais.libelle, frais.montantHT, TVA.tauxTVA, frais.montantTVA, frais.montantTTC 
    	FROM frais 
    	INNER JOIN TVA ON (frais.numTVA = TVA.numTauxTVA)
    	WHERE numNote = ".$numNote;	   
       $result = mysql_query($sql);
     
       /** AFFICHAGE DES DONNEES
       **
       */
       $ToListerFrais = array();
       while ($row = mysql_fetch_object($result)) 	
       {  
          $ToListerFrais[] = array(
             "numFrais" => $row->numFrais,
             "numDateFrais" => $row->dateFrais,
             "libelle" => $row->libelle,
             "montantHT" => $row->montantHT,
             "tauxTVA" => $row->tauxTVA,
             "montantTVA" => $row->montantTVA,
             "montantTTC" => $row->montantTTC
          ); 		
       }
       return $ToListerFrais;	
    }
    EDIT: oup, désolé nako, j'ai cassé le côté pédagogique de ta réponse

  4. #4
    Membre émérite Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Par défaut
    Citation Envoyé par Mr N.
    EDIT: oup, désolé nako, j'ai cassé le côté pédagogique de ta réponse
    Pas de problème, c'est mon petit défaut

  5. #5
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Défaut ?
    Si tu donnes un poisson à un homme, il mangera un jour, si tu lui apprends à pêcher, il mangera toute sa vie.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Par défaut
    Merci pour vos réponses à tous les deux..
    mais je pensais que
    1. ça mettait toutes les données dans le tableau (mais au résultat j'ai vu que non)
    2. Que ça mettait les données dans un tableau et que le while créé un nouveau tableau à chaque fois et non l'écrasait....

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

Discussions similaires

  1. JSP, probleme recup donne dans tableau
    Par naetoila dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 02/12/2008, 17h01
  2. [POO] Problème de compréhension POO
    Par fredrik dans le forum Langage
    Réponses: 2
    Dernier message: 15/08/2006, 16h39
  3. [POO] Problème inclusion dans une classe
    Par LordBob dans le forum Langage
    Réponses: 11
    Dernier message: 22/11/2005, 16h21
  4. [POO] Probleme de variable
    Par Azimel dans le forum Langage
    Réponses: 11
    Dernier message: 27/10/2005, 18h26
  5. [POO] probleme d'acces aux parametres un objet
    Par lejert dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/04/2005, 10h13

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