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 :

[Tableaux] Affichage enregistrement MySQL


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut [Tableaux] Affichage enregistrement MySQL
    Bonjour à tous ,

    je voudrai récupérer des informations dans une base de donnée MySQL pour une application PHP (JpGraph).

    Je récupère sans problème tous les enregistrements dont j'ai besoin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
     
     mysql_connect("localhost", "user", "password") ;
     mysql_select_db("database") ;
     
     $sql = mysql_query("select month(DATE) as DF, sum(TOTAL) as TH from TABLE_FACTURE where REF_FACTURE = 'FC11610' and year(DATE) = year(sysdate()) group by 1 order by 1")
     or die("Erreur de connexion DB :" . mysql_error()) ;
     
     while ($result = mysql_fetch_object($sql)) {
      echo $result->DF . ' : ' .$result->TH . '<br />';
     }
     
    ?>
    le résultat par exemple :
    1 : 34,34
    2 : 456
    3 : 546,98
    etc.

    Mon problème est que je n'arrive pas à mettre chaque enregistrement dans une variable pour ensuite, enseigner les valeurs pour mon application (JpGraph).

    Merci d'avance
    Youccef

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Et ceci (Attention, je n'ai pas testé, c'est le principe que j'énonce ici):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while ($result = mysql_fetch_object($sql)) 
    {
      $resultList[$result->DF] = $result->TH;
    }
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 54
    Points : 45
    Points
    45
    Par défaut
    Si j'ai bien compris je pense que c'est plutot quelque chose comme ça :

    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
    <?php
     
     mysql_connect("localhost", "user", "password") ;
     mysql_select_db("database") ;
     
     $sql = mysql_query("select month(DATE) as DF, sum(TOTAL) as TH from TABLE_FACTURE where REF_FACTURE = 'FC11610' and year(DATE) = year(sysdate()) group by 1 order by 1")
     or die("Erreur de connexion DB :" . mysql_error()) ;
     
     
     
    while ($result = mysql_fetch_object($sql)) 
    {
      $df[$i]=$result->DF;
      $th[$i]=$result->TH ;
      $i++;
    }
     
    for ($j=0;$j<$i;$j++)
    {
       echo $j." : ".$df[$j]." - ".$th[$j];
    }
     
    ?>

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Merci à tous ,

    Pour les statistiques, je dois mettre des valeurs dans un tableau met à disposition dans le script php de statistique (ex : 10,234.34,345 etc..). Mes valeurs sont stockées dans une base de donnée.

    Voila le script php :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    include ("src/jpgraph.php");
    include ("src/jpgraph_bar.php");
     
    // Les données
    $mois=array("Jan","Fev","Mar","Avr","Mai","Jun","Jul","Auo","Sep","Oct","Nov","Dec");
     
    $datay1=array(140,110,50,60,124,120,30,140,40,150,60,150);
    $datay2=array(35,90,190,190,124,10,120,30,140,50,160,70);
     
    //Créer le graphique. 
    $graph = new Graph(320,240,'auto');	
    $graph->SetScale("textlin");
    $graph->img->SetMargin(30,10,10,40);
     
    // Ajuster la couleur à l'ombre de la légende 
    $graph->legend->SetShadow('darkgray@0.5');
    $graph->legend->SetFillColor('lightblue@0.3');
     
    // Obtenir la version localisée des noms de mois 
    $graph->xaxis->SetTickLabels($mois);
     
    // image arriere plan
    $graph->SetBackgroundImage('background.jpg',BGIMG_COPY);
     
    // Placer les titres et les polices d'axe 
    $graph->xaxis->title->Set('');
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetColor('white');
     
    $graph->xaxis->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->SetColor('blue');
     
    $graph->yaxis->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->SetColor('blue');
     
     
    //   Une certaine marge supplémentaire (à partir du haut) 
    $graph->title->SetMargin(3);
    $graph->title->SetFont(FF_FONT1,FS_BOLD,12);
     
    // Créer les trois séries de variété
    $bplot1 = new BarPlot($datay1);
    $bplot2 = new BarPlot($datay2);
     
    // Installer les couleurs avec le transparent de 40% (le canal d'alpha)
    $bplot1->SetFillColor('orange@0.4');
    $bplot2->SetFillColor('brown@0.4');
     
     
    $gbarplot = new GroupBarPlot(array($bplot1,$bplot2));
    $gbarplot->SetWidth(0.8); // largeur des colonnes
    $graph->Add($gbarplot);
     
    $graph->Stroke();
    ?>
    Les 2 tableaux Concernés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $datay1=array(140,110,50,60,124,120,30,140,40,150,60,150);
    $datay2=array(35,90,190,190,124,10,120,30,140,50,160,70);
    Ma requête SQL contient 12 enregistrements, je voudrais mettre chaque enregistrement dans une variable pour ensuite les infecter aux tableaux.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $datay1=array($m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$m9,$m10,$m11,$m12);
    $datay2=array($m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$m9,$m10,$m11,$m12);
    Merci d'avance.
    Youccef

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Bonjour à tous,

    fab44, j'ai essayé ta solution, ça ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    while ($result = mysql_fetch_object($sql)) 
    {
      $df[$i]=$result->DF;
      $th[$i]=$result->TH ;
      $i++;
    }
     
    for ($j=0;$j<$i;$j++)
    {
       echo $j." : ".$df[$j]." - ".$th[$j];
    }
     
    ?>
    $th[$i]; est vide

    Merci d'avance
    Youccef.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Quelle est la valeur de $i avant et après le while?
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    avant while $i = null;

    après while , en fonction des enregistrement trouvés $i = 0,1,2,3 etc ..

    Merci d'avance
    Youssef

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Que $th[$i] soit vide, cela me semble normal car l'indice de $th doit aller de 0 à $i-1. Mais que cela ne fonctionne pas si $i n'est pas nul, cela me semble bizard. Il n'y a rien comme output? Si tu mets des echos partout entre toutes les lignes et donnant le contenu des variables pertinentes, qu'est-ce que cela donne?
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    après quelques modifications ça donne ça :

    0 : -
    1 : 2 - 165.06
    2 : 3 - 2243.70
    3 : 4 - 152.12

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Ce qui pour moi n'est pas parlant, ne sachant pas où tu as posé tes echos...
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $j." : ".$df[$j]." - ".$th[$j] . "<br />";
    Merci d'avance.
    Youccef

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    A priori, tout cela me semble être des plus normal. Peux-tu m'indiquer en quoi cela ne fonctionne pas?
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Pour faire le plus simple, voila ce que je veux :

    Citation Envoyé par youccef
    Merci à tous ,

    Pour les statistiques, je dois mettre des valeurs dans un tableau met à disposition dans le script php de statistique (ex : 10,234.34,345 etc..). Mes valeurs sont stockées dans une base de donnée.

    Voila le script php :
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    include ("src/jpgraph.php");
    include ("src/jpgraph_bar.php");
     
    // Les données
    $mois=array("Jan","Fev","Mar","Avr","Mai","Jun","Jul","Auo","Sep","Oct","Nov","Dec");
     
    $datay1=array(140,110,50,60,124,120,30,140,40,150,60,150);
    $datay2=array(35,90,190,190,124,10,120,30,140,50,160,70);
     
    //Créer le graphique. 
    $graph = new Graph(320,240,'auto');	
    $graph->SetScale("textlin");
    $graph->img->SetMargin(30,10,10,40);
     
    // Ajuster la couleur à l'ombre de la légende 
    $graph->legend->SetShadow('darkgray@0.5');
    $graph->legend->SetFillColor('lightblue@0.3');
     
    // Obtenir la version localisée des noms de mois 
    $graph->xaxis->SetTickLabels($mois);
     
    // image arriere plan
    $graph->SetBackgroundImage('background.jpg',BGIMG_COPY);
     
    // Placer les titres et les polices d'axe 
    $graph->xaxis->title->Set('');
    $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->title->SetColor('white');
     
    $graph->xaxis->SetFont(FF_FONT1,FS_BOLD);
    $graph->xaxis->SetColor('blue');
     
    $graph->yaxis->SetFont(FF_FONT1,FS_BOLD);
    $graph->yaxis->SetColor('blue');
     
     
    //   Une certaine marge supplémentaire (à partir du haut) 
    $graph->title->SetMargin(3);
    $graph->title->SetFont(FF_FONT1,FS_BOLD,12);
     
    // Créer les trois séries de variété
    $bplot1 = new BarPlot($datay1);
    $bplot2 = new BarPlot($datay2);
     
    // Installer les couleurs avec le transparent de 40% (le canal d'alpha)
    $bplot1->SetFillColor('orange@0.4');
    $bplot2->SetFillColor('brown@0.4');
     
     
    $gbarplot = new GroupBarPlot(array($bplot1,$bplot2));
    $gbarplot->SetWidth(0.8); // largeur des colonnes
    $graph->Add($gbarplot);
     
    $graph->Stroke();
    ?>
    Les 2 tableaux Concernés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $datay1=array(140,110,50,60,124,120,30,140,40,150,60,150);
    $datay2=array(35,90,190,190,124,10,120,30,140,50,160,70);
    Ma requête SQL contient 12 enregistrements, je voudrais mettre chaque enregistrement dans une variable pour ensuite les infecter aux tableaux.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $datay1=array($m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$m9,$m10,$m11,$m12);
    $datay2=array($m1,$m2,$m3,$m4,$m5,$m6,$m7,$m8,$m9,$m10,$m11,$m12);
    Merci d'avance.
    Youccef

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    Simple question : Pourquoi ne pas utiliser la fonction mysql_fetch_array() au lieu de mysql_fetch_object()?

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Merci fucce pour ta réponse,

    Le problème n'est pas la , un tableau ou un object php pour moi c'est pareille.

    Mon problème et de mettre chaque enregistrement extrait de la requête sql d'une variable.

    Je ne sais pas comment faire !

    Merci d'avance
    Youccef

    .

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 498
    Points : 461
    Points
    461
    Par défaut
    j'dois être ours mais comprends pô!!
    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
     
    <?php
     
     mysql_connect("localhost", "user", "password") ;
     mysql_select_db("database") ;
     
    $sql = mysql_query("select month(DATE) as DF, sum(TOTAL) as TH from TABLE_FACTURE where REF_FACTURE = 'FC11610' and year(DATE) = year(sysdate()) group by 1 order by 1")
    or die("Erreur de connexion DB :" . mysql_error()) ;
     
    $i = 0;
    while ($result[$i] = mysql_fetch_array($sql)) 
    {
      echo $result[$i]['DF'] . ' : ' .$result[$i]['TH'] . '<br />';
      $i++;
    }
    ?>
    Tes résultats sont dans le tableau à 2 dimensions $result! Désolé je ne dois pas piger grand chose mais en même temps on est lundi... ah non mercredi!!

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2007
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2007
    Messages : 24
    Points : 27
    Points
    27
    Par défaut
    Merci fucce et à tous ,

    cela que je ne savais pas faire :
    ça marche impeccable.

    Entre temps j'ai trouvé une autre solution, mais moins interessante,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	for ($i = 0 ; $i < 12 ; $i++) {
    		$tab[$i] = mysql_result($sql, $i);
    	}
    je préfère celle de fucce
    Youssef.

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

Discussions similaires

  1. [MySQL] Affichage tableaux recupération données Mysql
    Par Yvan76 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/07/2009, 15h26
  2. [Tableaux] affichage Mysql index
    Par gjhffd dans le forum Langage
    Réponses: 4
    Dernier message: 11/08/2007, 11h10
  3. Réponses: 1
    Dernier message: 23/12/2006, 23h39
  4. Réponses: 2
    Dernier message: 15/12/2006, 10h31
  5. Réponses: 4
    Dernier message: 05/12/2006, 20h13

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