Mon histogramme ne s'affiche pas

Rechercher
Boutique en ligne, solution e-commerce, script PHP et PERL : RAYNETTE

Mon histogramme ne s'affiche pas

Par GETHALEX  -  3 reponses  -  Le 22/12/2015 11:35  -  Editer  - 

Je suis entrain de créer une application qui permettrait à un utilisateur connecté d'affiche ses activités en tableaux par recherche en semaine, mois, année, les afficher en histogramme, le souci est que je récupère les données(designation, nbaffaire et année) de ma table(taches: id,designation,nbaffaire,annee),afficher dans un tableau, et j'ai créé deux tableau pour recevoir les ces données et voici

    $tableau_annee[]=array();  
    $tableau_affaire[]=array();  

l'erreur est la suivante:

    Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\cnps\models\fonction\graphe.php on line 18  

Le code

    <?php  
    include_once('../../lib/jpgraph/src/jpgraph.php"');  
    include_once('../../lib/jpgraph/src/jpgraph_log.php');  
    include_once('../../lib/jpgraph/src/jpgraph_bar.php"');  

    // tableaux destinés a recevoir les valeurs de la table de la bdd  
    $tableau_annee[] = array();  
    $tableau_affaire[] = array();  

    // Recuperation des données de la bdd  
    $bdd = new PDO('mysql:host=localhost;dbname=gestionalertes','root','Geth@lex/007');  
    $requete1 = 'SELECT COUNT(id) AS NB_AFFAIRE,annee AS ANNEE FROM taches';  

    $requete_exe = $bdd->query($requete1);  
    //$requete_exe->execute();  

    while($rows = $requete1->fetch() > 0){  
            $tableau_annee[] = 'ANNEE'.$rows['annee'];  
            $tableau_affaire[] = 'NB_AFFAIRE'.$rows['nbaffaire'];  

    }  

    //**********************************************************  
    // CONSTRUCTIONS DE GRAPHIQUES //  
    //**********************************************************  

    // --- Creation du conteneur graphique ---//  
    $graph = Graph(400,600);  
    $graph->SetScale("txtlin");  

    // --- Definir les titres et etiquettes ---//  
    $graph->title->Set("T&aacute;ches annuelles");  
    $graph->yaxis->SetTitle("Evolution annuelle");  
    $graph->xaxis->SetTitle("annee");  
    $graph->xaxis->SetTickLabels($tableau_anne[]);  

    // --- Tracé du graphe --- //  
    $histogram=new LinePlot($tableau_affaire[]);  
    $histogram->SetColor("blue");  
    $histogram->SetLegend("Production annuelle Utilisateur");  

    // --- Ajout du tracé au conteneur --- //  
    $graph = add($histogram);  

    // --- Envoie du graph au navigateur --- //  

    $graph->Stroke();  

Que vous m'aidiez a m'en sortir

 

Réponses apportées à cette discussion

Par Cyrano  -  Le 22/12/2015 13:45  -  Haut de page  - 

Salut,
est-ce que par hasard la ligne

$graph = Graph(400,600); 

ne devrait pas être :

$graph = new Graph(400,600); 

?

 
Par GETHALEX  -  Le 22/12/2015 15:21  -  Haut de page  - 

Ce n'est pas new Graph(400,500) le bleme parce qu'il affiche l'entete du tableau mais pas son contenu.

 
Par Cyrano  -  Le 22/12/2015 15:48  -  Haut de page  - 

Et en regardant ce que dit le message d'erreur, ça donne quoi ?

Par exemple, en regardant cette ligne :

while($rows = $requete1->fetch()

En regardant en suite une ligne juste avant :

$requete_exe = $bdd->query($requete1);  

On peut rapidement voir qu'il y a un problème. Ça, c'est une erreur d'inattention et l'emploi de la mauvaise variable.

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !