vue
maxredphenix![]() |
Bonjour à tous, Je suis actuellement en train de développer un site dans lequel j'aimerais afficher des graphiques dont les données sont tirées depuis ma bdd. Voulant aussi créer un compte rendu mensuel en pdf j'ai décider de me tourner vers html2pdf, le souci c'est que ce dernier ne prends pas en compte beaucoup de framework de création de graphique. Je me suis donc tourner vers Pchart qui à l'air plutôt sympa mais pour le moment j'arrive pas à le faire fonctionner. Mon code ressemble à ceci: <?php Et j'ai juste une nouvelle page qui s'affiche avec un symbole d'image non chargé en haut à gauche alors que logiquement elle est censé ce chargé dans ma page actuelle et surtout s'afficher..... Malheureusement je vois pas d'ou vient le souci d'ou mon post. Est-ce que quelqu'un pourrait m'aider svp? Et au cas ou est-ce que vous connaissez un autre moyen de faire des graphiques simplement et sans trop de ressource dans mon site, et qui serait compatible pour une utilisation dans le .php servant à la création de mon compte rendu via html2pdf? Je vous remercie d'avance de votre aide Cordialement Maxredphenix |
samedi 9 juin 2012
| |
SiMax![]() |
Salut ! Je ne connais pas Pchart mais soit l'hébergement ne supporte pas toutes les fonctionnalités requises, soit il y a une erreur de code. Des solutions alternatives :
|
dimanche 10 juin 2012
| |
maxredphenix![]() |
Bonjour, Désolé pour le retard, j'ai du partir en urgence. Le problème c'est que j'ai pas le choix, je suis obligé de créer le compte rendu en pdf. Sinon pour le moment je travail seulement sur wamp, donc logiquement il devrait le supporter vu que d'autres l'on déjà fait. Il y a pas un autre framework permettant de faire une génération de graphiques sur le site en ayant les qualités de base: rapidité, efficacité (et jolie bien sur) mais qui en même temps serait compatible avec HTML2PDF ? pour le moment j'en trouve pas de valable ou compatible. Merci et encore désolé pour le retard maxredphenix |
mercredi 13 juin 2012
| |
Lucas![]() |
Salut ! D'après la doc, Pchart rend bien les graphes en image à l'aide de GD. Mais d'après ce que j'ai compris, tu utilises pour produire le pdf une page HTML de base, donc ce que tu as à faire, je pense, c'est de rendre le graphe sur un fichier image : $Graph->Render("graph.png"); Et après dans le code html tu as juste à afficher l'image : <img src="graph.png" alt="graph"/> Bonne chance ! |
samedi 23 juin 2012
| |
maxredphenix![]() |
Bonjour, Merci pour ta réponse, comme j'ai pas reussi à utiliser Pchart et qu'il était plus supporté depuis 2008 je me suis tourné vers JPGRAPH. Pour le moment j'essaie de créer les graphiques pour qu'ils s'affichent dans mon site et je ferais ensuite la manip pour le pdf vu qu'il y a juste à faire à l'identique de ce tu viens de me donner. Mais cela ne fonctionne pas pour le moment, j'ai un problème de requete, lorsque je lance ma page, elle m'affiche Pb de requête, voila mon code: // ******************************************************************** // PARTIE : Includes et initialisation des variables // ******************************************************************** // Inclusion de la librairie JpGraph include ("../jpGraph/jpgraph.php"); include ("../jpGraph/jpgraph_pie.php"); include ("../jpGraph/jpgraph_pie3d.php"); // Constantes (connection mysql) require_once('../connexionbdd.php'); // Tableaux de données destinées à JpGraph $tableauDemande = array(); $tableauTypeInter = array(); // ******************************************************************** // PARTIE : Production des données avec Mysql // ******************************************************************** $annee=2012; $mois=06; $sql = << SELECT COUNT(ID) AS NBR_DEMANDE, type_inter AS TYPE_INTER, date_appel FROM 'demande' WHERE MONTH(date_appel)=$mois GROUP BY 'type_inter' EOF; // Connexion à la BDD $mysqlCnx = @mysql_connect($host, $user, $passwd) or die('Pb de connexion mysql'); // Sélection de la base de données @mysql_select_db($database) or die('Pb de sélection de la base'); // Requête $mysqlQuery = @mysql_query($sql, $mysqlCnx) or die('Pb de requête'); // Fetch sur chaque enregistrement while ($row = mysql_fetch_array($mysqlQuery, MYSQL_ASSOC)) { // Alimentation des tableaux de données $tableauDemande[] = 'Nbre Total Demandes ' . $row['NBR_DEMANDE']; $tableauTypeInter[] = $row['TYPE_INTER']; } // ******************************************************************** // PARTIE : Création du graphique // ******************************************************************** // On spécifie la largeur et la hauteur du graphique conteneur $graph = new PieGraph(300,200); // Ajouter une ombre au conteneur $graph->SetShadow(); // Titre du graphique $graph->title->Set("Nombre de Demandes pour le mois"); // Quelle police et quel style pour le titre // Prototype: function SetFont($aFamily,$aStyle=FS_NORMAL,$aSize=10) // 1. famille / 2. style / 3. taille $graph->title->SetFont(FF_GEORGIA,FS_BOLD, 12); // Créer un camenbert (classe PiePlot3D) $oPie = new PiePlot3D($tableauTypeInter); // Quelle partie se détache du reste $pie->ExplodeSlice(2); // Spécifier des couleurs personnalisées... #FF0000 ok $pie->SetSliceColors(array('red', 'blue')); // Légendes qui accompagnent chaque secteur, ici chaque année $oPie->SetLegends($tableauDemande); // Position du graphique (légèrement à droite)(0.5=centré) $oPie->SetCenter(0.4); // On ajoute la valeur de chaque Type d'inter à côté de chaque part du camenbert (etiquettes) $oPie->SetValueType(PIE_VALUE_ABS); // Personnalisation des étiquettes pour chaque partie $oPie->value->SetFormat('%d demandes'); // Personnaliser la police et couleur des étiquettes $pie->value->SetFont(FF_ARIAL,FS_NORMAL, 9); $pie->value->SetColor('black'); // Ajouter au graphique au conteneur $graph->Add($oPie); // Provoquer l'affichage (renvoie directement l'image au navigateur) $graph->Stroke(); ?> J'arrive pas à créer ma requete correctement, je veux me connecter à la table "demande" et sélectionner le champ "type_inter" afin d'afficher un graphique du nombre de demande par type d'intervention dans le mois en cours (pour le moment j'ai défini $mois à 06 en attendant de faire un POST depuis une autre page) + le cadre d'étiquette mais cela ne fonctionne pas. Si tu peux m'aider je suis preneur merci maxredphenix |
samedi 23 juin 2012
| |
Lucas![]() |
Et quelle est l'erreur exacte que renvoie la page ? Et sinon, pourquoi tu mets "@" devant tes fonctions mySQL ? |
samedi 23 juin 2012
| |
maxredphenix![]() |
J'ai juste une page planche avec noté "Pb de requête". Sinon le @ c'est pour éviter l'affichage des erreurs, c'est un truc que j'ai vu sur un tuto un jour et du coup j'y pense même plus. Je viens de l'enlever mais j'ai toujours le même message et aucune autres info d'erreur (idem pour la console de développement google Chrome) |
samedi 23 juin 2012
| |
Lucas![]() |
Hum, dans ce cas je te conseillerai de ne pas t'occuper du graphe pour le moment, et juste de regarder si tu récupères bien les infos. Donc mieux vaut enlever toute la partie concernant l'affichage pour le moment, et regarder ce que ça retourne Aussi, pourquoi il y a ÇA dans ta requête ? $sql = << SELECT COUNT(ID) AS NBR_DEMANDE, type_inter AS TYPE_INTER, date_appel FROM 'demande' WHERE MONTH(date_appel)=$mois GROUP BY 'type_inter' EOF; |
samedi 23 juin 2012
| |
maxredphenix![]() |
C'etait dans un des exemples du site. Vu que ça t'as choquer j'en ai déduit que c'était pas terrible donc je viens de refaire mon code: <?php Et maintenant j'ai deux erreurs: Notice: Undefined variable: pie in C:\wamp\www\Monsite\php\formulaires_statistique\essaiestat.php on line 44 et: Fatal error: Call to a member function ExplodeSlice() on a non-object in C:\wamp\www\Monsite\php\formulaires_statistique\essaiestat.php on line 44 ce qui correspond à : // Quelle partie se détache du reste |
samedi 23 juin 2012
| |
Lucas![]() |
En effet, tu utilises une variable $pie non définie à la place de $oPie |
samedi 23 juin 2012 (Dernière édition samedi 23 juin 2012)
|
Aperçu (pas encore publié) | |
Kommunauty © Tous droits réservés
Contact /
Charte & Mentions légales /
Hebergement gratuit /
Bon plan hébergement /
Aide B2i