Kommunauty
Connexion
Inscription

Utilisation de Pchart


maxredphenix Messages : 60

Bonsoir,

Voila la page qui créer le pdf, elle appelle une autre page (je sais pas pourquoi ils sont créer ce type de fonctionnement):

/**

* HTML2PDF Librairy - Compte Rendu Mensuel

*/

require_once('html2pdf.class.php');

if (isset($_POST['date'])){$date=trim($_POST['date']);}

// Motif servant à l'extraction de la date

// La date doit être au format MM/AAAA

$motif= '#^(\d{1,2})/(\d{4})$#';

if (preg_match($motif,$date,$resultat) ==0){

echo $date.' invalide';

}else{

$mois=$resultat[1]; // On extrait le résultat du preg_match 1 qui correspond au mois

$annee=$resultat[2]; // On extrait le résultat du preg_match 2 qui correspond à l'année

}

// Récupération des données HTML/PHP à afficher

ob_start();

include('/doc/compte_rendu.php');

$content = ob_get_clean();

try

{

// Initialisation de HTML2PDF

$html2pdf = new HTML2PDF('P', 'A4', 'fr', true, 'UTF-8', array(0, 0, 0, 0));

$html2pdf->pdf->SetAuthor('Test');

// Affichage de sortie du PDF en Plein Ecran

$html2pdf->pdf->SetDisplayMode('fullpage');

// Convertion de la page php en pdf

$html2pdf->writeHTML($content, isset($_GET['vuehtml']));

// Ajoue automatique du Sommaire

$html2pdf->createIndex('Sommaire', 30, 12, false, true, 2);

// Envoie du PDF

$html2pdf->Output('Compte Rendu Mensuel.pdf');

}

catch(HTML2PDF_exception $e) {

echo $e;

exit;

}

?>

Voila le bout de code qui lance l'image:

// On affecte le nom du mois en fonction de son numéro

switch($mois) {

case 01: $moislettre ="JANVIER"; break;

case 02: $moislettre ="FEVRIER"; break;

case 03: $moislettre ="MARS"; break;

case 04: $moislettre ="AVRIL"; break;

case 05: $moislettre ="MAI"; break;

case 06: $moislettre ="JUIN"; break;

case 07: $moislettre ="JUILLET"; break;

case 08: $moislettre ="AOUT"; break;

case 09: $moislettre ="SEPTEMBRE"; break;

case 10: $moislettre ="OCTOBRE"; break;

case 11: $moislettre ="NOVEMBRE"; break;

case 12: $moislettre ="DECEMBRE"; break;

}

// MONTH n'accepte que les chiffre de 1 à 12 et notre date est envoyé sous forme 01->12

switch($mois) {

case 01: $month =1; break;

case 02: $month =2; break;

case 03: $month =3; break;

case 04: $month =4; break;

case 05: $month =5; break;

case 06: $month =6; break;

case 07: $month =7; break;

case 08: $month =8; break;

case 09: $month =9; break;

case 10: $month =10; break;

case 11: $month =11; break;

case 12: $month =12; break;

}

// ############# Conversion des dates format aaaa-mm-jj en jj-mm-aaaa ###############

function ConversionDate($date,$sep){return implode($sep,array_reverse(explode($sep,$date)));}

// ############# Calcul du nombre de jour ouvré###############

// Fonction permettant de compter le nombre de jours ouvrés entre deux dates

function get_nb_open_days($date_start, $date_stop) {

$arr_bank_holidays = array(); // Tableau des jours feriés

// On boucle dans le cas où l'année de départ serait différente de l'année d'arrivée

$diff_year = date('Y', $date_stop) - date('Y', $date_start);

for ($i = 0; $i <= $diff_year; $i++) {

$year = (int)date('Y', $date_start) + $i;

// Liste des jours feriés

$arr_bank_holidays[] = '1_1_'.$year; // Jour de l'an

$arr_bank_holidays[] = '1_5_'.$year; // Fete du travail

$arr_bank_holidays[] = '8_5_'.$year; // Victoire 1945

$arr_bank_holidays[] = '14_7_'.$year; // Fete nationale

$arr_bank_holidays[] = '15_8_'.$year; // Assomption

$arr_bank_holidays[] = '1_11_'.$year; // Toussaint

$arr_bank_holidays[] = '11_11_'.$year; // Armistice 1918

$arr_bank_holidays[] = '25_12_'.$year; // Noel

// Récupération de paques. Permet ensuite d'obtenir le jour de l'ascension et celui de la pentecote

$easter = easter_date($year);

$arr_bank_holidays[] = date('j_n_'.$year, $easter + 86400); // Paques

$arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*39)); // Ascension

$arr_bank_holidays[] = date('j_n_'.$year, $easter + (86400*50)); // Pentecote

}

//print_r($arr_bank_holidays);

$nb_days_open = 0;

// Mettre <= si on souhaite prendre en compte le dernier jour dans le décompte

while ($date_start < $date_stop) {

// Si le jour suivant n'est ni un dimanche (0) ou un samedi (6), ni un jour férié, on incrémente les jours ouvrés

if (!in_array(date('w', $date_start), array(0, 6))

&& !in_array(date('j_n_'.date('Y', $date_start), $date_start), $arr_bank_holidays)) {

$nb_days_open++;

}

$date_start = mktime(date('H', $date_start), date('i', $date_start), date('s', $date_start), date('m', $date_start), date('d', $date_start) + 1, date('Y', $date_start));

}

return $nb_days_open;

}

$nb_jour = date('t',mktime(0, 0, 0, $mois, 1, $annee));

$date1="$annee/$mois/01";

$date2="$annee/$mois/$nb_jour";

$date_depart = strtotime($date1);

$date_fin = strtotime($date2);

// On obtiens donc le nombre de jours ouvrés dans le mois

$nb_jours_ouvres = get_nb_open_days($date_depart, $date_fin);

?>

<table border="1"cellspacing="0" style="width:100%; text-align:center;" charset="utf-8">

<tr>

<td style="width: 50%;">

graph

</td>

<td style="width: 50%;">

</td>

</tr>

</table>

Je t'ai laisser les code php qui me servent à extraire le mois et l'année ainsi que les jours fériés au cas ou cela pourrait gêner la création de l'image mais je t'ai enlever la page de garde et l'en-tête/pied de page ainsi que la page de garde.

Merci

samedi 30 juin 2012

maxredphenix Messages : 60

J'ai oublié de noter, c'est le début de la page compte_rendu.php qui est insérée via un include dans la première page.

Je sais pas pourquoi mais le code suivant s'affiche comme image:

<img src="../php/formulaires_statistique/graph_demande_mois.php" alt="graph"/>
samedi 30 juin 2012

maxredphenix Messages : 60

Et le "s'affiche comme image" c'est pas rapport à mon post d'avant. C'est dommage qu'on puisse pas faire un edit de ce qu'on vient de poster dans le forum parce que je me suis rendu compte que j'avais oublier de préciser cela et donc que ma phrase voulait rien dire mais je suis obliger de re-poster pour me corriger.

Passe une bonne soirée

samedi 30 juin 2012

Kiki Messages : 1

Bonjour j'ai un projet sur une étude graphique à partir de données enregistrées dans une base de données. je conçois dans les terminaux de kubuntu. Je suis nouveau dans la génération de graphe à partir de données mysql et j'avoue que j'ai assez de mal à m'en sortir. J'ai téléchargé pChart et l'ai décompressée dans un répertoire que je lui ai créé dans /var/www/Mon_dossier_de_travail. actuellement je me demande si c'est vraiment le bon endroit où j'ai mis la librairie. J'aimerais que vous m'aidiez à générer les graphes(diagramme, histogramme, camembert).

En espérant avoir un prompt retour de vous; je vous prie d'accepter l'expression de mes hautes considérations.

mercredi 5 février 2014

Répondre Pour répondre, tu dois d'abord t'inscrire rapidement sur Kommunauty. Rejoins-nous vite !