Page 1 sur 1

diagramme de gantt/base de données

Posté : 03 avr. 2015, 11:47
par challenger11
Bonjour,
je veux réaliser un diagramme de gantt jusqu'à présent sa marche seulement j'ai deux soucis : le premier : je veux que à coté du diagramme qu'il s'affiche le nom de la phase avec la date du début et date de fin depuis ma base de données j'ai essayé pas mal de chose mais sa ne marche pas j'ai réussi à afficher que le nom .
Le second souci que j'ai c'est que je veux améliorer l'aspect graphique de mon diagramme pour qu'il devient plus moderne ( les barres les couleurs la police par exemple si vous avez des propositions je vous serais très reconnaissant )
J'utilise la bibliothèque jpgraphe et c'est l'un de ces exemples que j'ai suivi donc voici ce qui affiche mon code :
gantt.JPG
et voici mon code :
<?php 
// content="text/plain; charset=utf-8"
require_once ('src/jpgraph.php');
require_once ('src/jpgraph_gantt.php');

$graph = new GanttGraph();
$graph->SetShadow();

// Add title and subtitle
$graph->title->Set("Gantt");
$graph->title->SetFont(FF_ARIAL,FS_BOLD,12);


// Show day, week and month scale
$graph->ShowHeaders(GANTT_HDAY | GANTT_HWEEK | GANTT_HMONTH);

// Instead of week number show the date for the first day in the week
// on the week scale
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);

// Make the week scale font smaller than the default
$graph->scale->week->SetFont(FF_FONT0);

//TITRE
$graph->scale->actinfo->SetColTitles(
    $tableau=array('Phase','Début','Fin'),array(100));
$graph->scale->actinfo->SetBackgroundColor('blue');

// Use the short name of the month together with a 2 digit year
// on the month scale
$graph->scale->month->SetStyle(MONTHSTYLE_SHORTNAMEYEAR4);
$graph->scale->month->SetFontColor("white");
$graph->scale->month->SetBackgroundColor("blue");

// 0 % vertical label margin
$graph->SetLabelVMarginFactor(1.0); // 1=default value

// Set zoom factor
$graph->SetZoomFactor(1.0);

//connexion à la base de donnée
mysql_connect('localhost', 'root', '');
mysql_select_db('gantt') ;
 
 $requete=("SELECT nom , date_debut, date_fin FROM ga ");
 $req=mysql_query($requete) or exit('Erreur SQL ligne '.__LINE__.' : '.mysql_error());
 
 $donnée = array();
 $x=0;
 while($ligne=mysql_fetch_array($req))
 {
 
 $name=$ligne[0];
 $db=$ligne[1];
 $df=$ligne[2];
 


// Format the bar for the first activity
// ($row,$title,$startdate,$enddate)
$tableau= array ($x ,array("name","$db","$df"));
$donnée = new GanttBar ("$x","$name","$db","$df","[50%]");
$x++;


// Yellow diagonal line pattern on a red background
$donnée->SetPattern(BAND_RDIAG,"yellow");
$donnée->SetFillColor("red");

// Set absolute height of activity
$donnée->SetHeight(16);

$graph->Add($donnée);
}

// ... and display it
$graph->Stroke();
?>
Merci d'avance pour votre aide :D

Re: diagramme de gantt/base de données

Posté : 03 avr. 2015, 12:00
par @rthur
Bonjour,

Si tu veux quelque chose de plus moderne, il faut probablement te tourner vers des librairies javascript qui seront plus flexibles que jpgraph côté personnalisation.

Voici quelques pistes :
http://taitems.github.io/jQuery.Gantt/
http://gantt.twproject.com
https://www.angular-gantt.com/
http://dhtmlx.com/docs/products/dhtmlxGantt/

Re: diagramme de gantt/base de données

Posté : 03 avr. 2015, 12:28
par challenger11
merci @rthur pour votre réponse,
Concernant les liens que tu ma envoyé c'est vrais ils sont plus modernes mais mon objectif et d'afficher un diagramme de gantt simple seulement avec date début et fin et le nom de la phase et la chose la plus importante depuis ma base de données pour ensuite l'afficher dans une page web juste un affichage simple j'ai essayé avec jquery mais c'est la galére je ne vous ment pas :/

Re: diagramme de gantt/base de données

Posté : 03 avr. 2015, 13:58
par @rthur
Il faut que tu reprennes les exemples de JPgraph car tu n'indique pas les libellés des dates de début et dates de fin mais juste les dates qui permettent de le positionner

Par exemple le 1er graphique de cette page semble être proche de ce que tu souhaites faire :
http://jpgraph.net/download/manuals/chu ... 16s04.html
Voici le code qui le génère :
http://jpgraph.net/download/manuals/chu ... arex2.html

Re: diagramme de gantt/base de données

Posté : 03 avr. 2015, 21:43
par challenger11
en effet l'exemple que tu me propose je réussi à le faire marcher seulement son défaut c'est que si on a une tache qui commence et se termine dans le même moi ( c'est a dire qui dure 5 ou 4 jours ) la bar et très petite comme si c'est une ligne son défaut qu'il affiche en mois et pas en jour et mois et en second lieu si je met une date du projet entier sur tout l'année 2015 il affichera tous les mois même si il n'y pas de tâches voici un exemple :
gantt2.JPG
j'ai essayé de le rendre qu'il affiche le jour et le moi et l'année comme l'autre exemple sa n'a pas marché et voici comment il affiche :
gantt3.JPG
voila j’espère être claire ainsi merci pour votre attention du fond du cœur :wink:

Re: diagramme de gantt/base de données

Posté : 03 avr. 2015, 22:25
par @rthur
Il faut que tu ajustes l'échelle :
http://jpgraph.net/download/manuals/chu ... #id2570317

Et éventuellement la période à afficher pour éviter d'avoir un graph de 4km de long :
http://jpgraph.net/download/manuals/chu ... #id2576439

Re: diagramme de gantt/base de données

Posté : 04 avr. 2015, 10:15
par challenger11
@arthur un grand merci j'ai tout simplement enlevé la commande $graph->SetDateRange qui indique la période à afficher et la il affiche seulement les barres dont j'ai besoin seulement autre chose si vous savez une idée comment le rendre plus beau sa sera plus qu'agréable et merci encore une autre fois pour votre aide.

Re: diagramme de gantt/base de données

Posté : 04 avr. 2015, 11:08
par @rthur
Les options de personnalisation sont limitées avec jpGraph.
Les deux principaux leviers que je verrai pour rendre ton graphique un peu plus moderne seraient d'abord de changer la police de caractère :
http://www.fontsquirrel.com/fonts/list/hot
http://jpgraph.net/doc/howto6.php

Et ensuite d'essayer de trouver des couleurs plus actuels. Adobe Color est pas mal pour trouver des couleurs qui vont bien ensemble :
https://color.adobe.com/fr/explore/most ... time=month

Re: diagramme de gantt/base de données

Posté : 04 avr. 2015, 12:28
par challenger11
oui c'est un peut limité mais sa fera l'affaire merci pour votre aide @arthur c'étais rapide et efficace à l’a prochaine passez une bonne journée =D> =D> :wink: