begin process at 2012 05 31 02:00:48
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Probleme jpgraph/base de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme jpgraph/base de données

mercredi 31 janvier 2007 à 14:46:51 | Probleme jpgraph/base de données

sabou94

Bonjour,
En fait je dois générer un graph style diagramme de gantt donc un sorte de calendrier avec des barres representant des taches et leur durée (je ne sais pas si c'est clair...)

Mais bref, ce que je veux, c'est donc générer plusieurs barres sur un graph, où chaque barre aura un titre selon un champ d'une base de données.
Alors comment modifier le code du graph pour en génerer plusieurs selon une variable $i par exemple
Voilà un peu de code:
$graph = new GanttGraph(-1,-1,"auto");
$project = new GanttBar(0,".$tabTasksGantt[$i]['tasks_title'].",".$tabTasksGantt[$i]['beginning_date'].",".$tabTasksGantt[$i]['deadline'].");
$graph->Add($project);
$graph->Stroke();

Donc ce que j'aimerais c'est en fait faire autant de $project qu'il n'y a de $i (nombre de tache récupérée d'une requete sql...)
Merci d'avance!!!
sabrina

mercredi 31 janvier 2007 à 14:55:42 | Re : Probleme jpgraph/base de données

raven44

Salut, pour obtenir ce que tu veux, il faut utiliser une boucle "while" ou "for"

Exemple :

for($i=1;$i<4;$i++){
   $graph = new GanttGraph(-1,-1,"auto");
$project = new GanttBar(0,".$tabTasksGantt[$i]['tasks_title'].",".$tabTasksGantt[$i]['beginning_date'].",".$tabTasksGantt[$i]['deadline'].");
$graph->Add($project);
$graph->Stroke();
}

et ca te le fera 3 fois.

mercredi 31 janvier 2007 à 15:09:31 | Re : Probleme jpgraph/base de données

sabou94

J'ai déjà quelque chose de similaire mais ca ne marche pas!

J'avais mis ca :
foreach ($tabTasksGantt as $i=>$contenu)
et dedans mon code (comme ce que t'a mis dans le for) Mais ca ne peux pas marcher, car on ne dit pas qu'il faut faire plusieurs projects, il n'y a que le $i de mon tabTasksGantt qui change!!
Sorry, je galère aussi la!
Ca fait deux jours que je suis dessus!
merci quand meme.
sabrina

mercredi 31 janvier 2007 à 15:21:11 | Re : Probleme jpgraph/base de données

raven44

Tout d'abors, faux pas créer plusieurs projet donc ta variable project en dehors de la boucle for et ensuite dans ta boucle, c'est la que tu met ta variable $graph de [$i] bien entendu sinon ca marchera jamais puis tu l'ajoute ect ...
mercredi 31 janvier 2007 à 15:58:44 | Re : Probleme jpgraph/base de données

sabou94

Merci mais ce n'est pas ce que je veux, puisque je ne veux qu'un seul graph mais plusieurs barres! Un diagramme de gantt quoi...
En fait je veux que le $project varie mais est ce que j'ai le droit de mettre un truc du genre $project[$i] ?
Enfin je trouve vraiment pas, pourtant je suis sure que plein de gens l'ont déjà fait...

Merci tout de meme!
sabrina
mercredi 31 janvier 2007 à 17:05:37 | Re : Probleme jpgraph/base de données

huberdine

Réponse acceptée !

Voici une idée de solution :

				

<?php
				// Gantt example
		
				
						include
				 ("../jpgraph.php");
				
						include
				 ("../jpgraph_gantt.php");
				

/*
N'oublies pas de récupérer ici tes données dans $tabTasksGantt

*/




//
				// The data for the graphs
		
				//
		
  $data=array();
  $j=1
  // à modifier en fonction de requetes vers la base de données
  $debut_projet="2006-10-26";
  // à modifier en fonction de requetes vers la base de données
  $fin_projet="2006-11-24";
  $data[0]=array(0,ACTYPE_GROUP,    "Mon projet", $debut_projet,$fin_projet,''),
  foreach ($tabTasksGantt as $i=>$contenu)
  {
        $data[$j]=array($j,ACTYPE_NORMAL,$contenu,$tabTasksGantt[$i]['tasks_title'],$tabTasksGantt[$i]['beginning_date'],$tabTasksGantt[$i]['deadline'],'commentaire');
$j++;
  }
 
				// Create the basic graph
		
$graph = new GanttGraph();
$graph->title->Set("Gantt Graph using CreateSimple()");
				
// Setup scale
$graph->ShowHeaders(GANTT_HYEAR | GANTT_HMONTH | GANTT_HDAY | GANTT_HWEEK);
$graph->scale->week->SetStyle(WEEKSTYLE_FIRSTDAY);
				
// Add the specified activities
$graph->SetSimpleStyle(GANTT_SOLID,'blue@0.7','blue@0.7');
$graph->CreateSimple($data);
 
				
// .. and stroke the graph
$graph->Stroke();
				
?>
mercredi 31 janvier 2007 à 17:33:55 | Re : Probleme jpgraph/base de données

sabou94

Merci je vais essayer ca tout de suite!

sabrina
mercredi 31 janvier 2007 à 17:42:12 | Re : Probleme jpgraph/base de données

sabou94

Euh excuse moi mais il y a quelque chose que je ne comprend pas :
tout mon probleme est que je dois récuperer les dates de ma base de données (j'ai finalement adopté la méthode de $project[$i] avec des for) et la je vois que tu as mis date_deb_project et fin_project?
Ca ne m'arrange pas...
Je suis chiante je sais mais la je suis pres du but alors ca me stresse encore plus lol
Bon ben merci quand même, je v continuer de faire des essais, et peut etre remanier ton code comme ca m'arrange!
Encore merci!

sabrina
mercredi 31 janvier 2007 à 17:56:33 | Re : Probleme jpgraph/base de données

huberdine


En fait, avec JpGraph, pour gérer les diagrammes de Gannt, tu créé un groupe de projets :
$data[0]=array(0,ACTYPE_GROUP,"Mon projet", $debut_projet,$fin_projet,''),
lequel va contenir tous les projets :
foreach ($tabTasksGantt as $i=>$contenu)
{
$data[$j]=array($j,ACTYPE_NORMAL,$contenu,$tabTasksGantt[$i]['tasks_title'],$tabTasksGantt[$i]['beginning_date'],$tabTasksGantt[$i]['deadline'],'commentaire');
$j++;
}
Les mots clefs importants sont : ACTYPE_GROUP et ACTYPE_NORMAL
C'est donc à toi de définir date_deb_project et fin_project qui auront pour valeur respective :
  • la date la plus ancienne pour date_deb_project
  • la date la plus récente pour fin_project
Tu as plusieurs moyen pour récupérer ces valeurs : soit faire des requêtes dans ta base de donnée, soit parser le tableau tabTasksGantt pour retrouver la première et la dernière date de ton projet.

par exemple :

function date_min($data)
{
	$min = $data[0]['beginning_date'];
for($i=0;$i<count($data);$i++)
{
if($data[$i]['beginning_date'] < $min)
{
$min = $data[$i]['beginning_date'];
}
}
return($min)
}

function date_max($data)
{
	$max = $data[0]['deadline'];
for($i=0;$i<count($data);$i++)
{
if($data[$i]['deadline'] > $max)
{
$max = $data[$i]['deadline'];
}
}
return($max)
}

// Pour récupérer les valeurs :
$debut_projet=date_min($tabTasksGantt);
$fin_projet=date_max($tabTasksGantt);
jeudi 1 février 2007 à 10:11:57 | Re : Probleme jpgraph/base de données

sabou94


Bonjour,
Je n'avais pas vu qu'hier tu m'avais repondu! Désolée.
En fait j'ai compris ce que tu m'as dit, j'ai testé ton truc, mais ca me met une erreur jpgraph :
CSIM Alt text must be specified as a string.
?? Je ne comprend ce qui fait ca, je n'ai pas mis de alt, et je ne vois pas où c'est censé être requis.
Pourrais-tu m'aider? merci!

sabrina

1 2

Cette discussion est classée dans : base, données, graph, project, tabtasksgantt


Répondre à ce message

Sujets en rapport avec ce message

Base de données, ca marche comment ? [ par Jc ] Il y a aucune source qui explique les bases de données et pourtant il y en a qui les utilise et j'ai rien compris.Est-il possible de rajouter une sour Bouton Actualiser de navigateur crée des doublons dans ma base de données [ par Max ] Bonjour,J'ai un problème avec ma page php. En appuyant sur le bouton j'envoie les données de mon formulaire au serveur et elles sont inscrites dans m Connexion à une base de données Paradox ! [ par orelien ] Bonjour !Voilà, j'aimerai me connecter à une base de données Paradox mais je n'y arrive pas !...Quelqu'un peut il m'aider ??Merci beaucoup.Orelien. PHP et types de base de données [ par amnay ] j'aimerai bien savoir est ce qu'il est possible de travailler php avec une base de données acces par exemple?merci et @amnay "The Big Developers Team" Enregistrer un binaire dans une base de données [ par astien ] astienComment fais-ton en php pour inserer un resgistre avec un objet binaire ?Quelqu'un peut m'aider ? Panier sans base de données [ par leskritiques ] Voila g un probleme pour réaliser un panier en php.Je n'arrive pas a touver la fonction qui permet de cliquer sur un lien et ajoute un produit dans un recherche d'un développeur base de données pour collaboration [ par nawakjr ] Bonjour,Tout d'abord "Bravo" pour ce site.Je suis en train de concrétiser un grand projet de réseau en ligne (audiovisuel / europe). Je cherche quelqu selectionner une id dans une base de données [ par tomatokatchup ] Voila mon probleme :J'ai créer une table qui se contient les réultats d'un formulaire remplis par les visiteurs de mon site. A chaque validation du fo Affichage de données [ par must ] Salut,j'ai une base de données avec 5 enregistrements dans la baseComment faire pour faire ceci:a gauche:afficher une case à coherau milieu:résumé mes Simuler un cookie avec une base de données [ par must ] Bonjour,puis je faire ca,pour mon compteur de visite,je voudrais normalement stocker ip du visiteur pour compteur une seule fois visite dans un cookie


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,669 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales