[php/mysql] Utiliser une db avec google chart
fxtaa
Messages postés
1170
Statut
Membre
-
dgf -
dgf -
Salut,
je voudrais créer des graphiques dynamiquement sur mon site et il se trouve que google propose une tite api pas mal du tout: google charts. Il suffit de passer les paramètres du graphiques dans un get et le tour est joué.
Malheureusement je suis mauvais la dedans ^^.
Donc d'abord la tete de ma table :
Avec ca, je voudrai faire un graphe qui m'affiche la taille des serveurs dans un cammembert.
Dans ce style la (codé en dur la): http://chart.apis.google.com/chart?cht=p3&chd=t:30,40,5&chs=250x100&chl=serveur1|serveur2|serveur3
je ferai bien ca comme ca
Si vous avez des conseils ce serait avec plaisir.
Bonne journée
je voudrais créer des graphiques dynamiquement sur mon site et il se trouve que google propose une tite api pas mal du tout: google charts. Il suffit de passer les paramètres du graphiques dans un get et le tour est joué.
Malheureusement je suis mauvais la dedans ^^.
Donc d'abord la tete de ma table :
serveur : nom des serveurs; taille: taille des serveurs; utilisateur:user du serveur
Avec ca, je voudrai faire un graphe qui m'affiche la taille des serveurs dans un cammembert.
Dans ce style la (codé en dur la): http://chart.apis.google.com/chart?cht=p3&chd=t:30,40,5&chs=250x100&chl=serveur1|serveur2|serveur3
je ferai bien ca comme ca
$sqgra = mysql_query("SELECT * FROM {$tablename} WHERE serveur = '{$serv}'");
$gratab = array ();
while($gra= mysql_fetch_array($sqgra)) {
array_unshift ($gratab, $gra);
}
$i=0;
while($i<4){
echo '<br />env =>'.$gratab[$i][2].' taille =>'.$gratab[$i][3];
$i=$i+1;
}
//le pb c est l'incrémentation de mes $gratab a mettre dans mon location...
include(location:"http://......");
Si vous avez des conseils ce serait avec plaisir.
Bonne journée
A voir également:
- Google charts mysql
- Google maps satellite - Guide
- Google maps - Guide
- Google photo - Télécharger - Albums photo
- Dns google - Guide
- Google - Guide
4 réponses
J'édite a chaque fois mon code, mais le je coince vraiment.
Le but du jeu maintenant est d'au lieu d'avoir while (i<4) afin d'éviter d'avoir des undefined offset, un compteur :
1. Je compte le nbr de résultats de ma requêtes
2. selon le nombre, je place autant de $gratab dans mon url avec une décrémentation(pas sûr du mot ^^) jusqu' a 1.
3. exemple :
nombre de résultats de la requête : 3
Bonne journée.
Le but du jeu maintenant est d'au lieu d'avoir while (i<4) afin d'éviter d'avoir des undefined offset, un compteur :
1. Je compte le nbr de résultats de ma requêtes
2. selon le nombre, je place autant de $gratab dans mon url avec une décrémentation(pas sûr du mot ^^) jusqu' a 1.
3. exemple :
nombre de résultats de la requête : 3
$cpte = 3;
//on est dans un tableau donc 3 résultat c est de 2 a 0
$cpte = $cpte - 1; //$cpte = 2
//Fonction qui définit le nombre de $tailleX, de $serveurX et de décrémentation qui vont etre utilisé du style :
$i= 1;
while ($i<$cpte){
$taille.$i = $gratab[$cpte][3]; $serveur1 = $gratab[$cpte][2]; //le $taille.$i ne fonctionne pas...
$cpte = $cpte -1;
$i = $i+1;
}
//fonction que définit le nombre de $taille.$i et $serveur.$i que j'ai..... (se tire une balle) :
include (lcoation:'http://chart.apis.google.com/chart?cht=p3&chd=t:'.$taille1.','.$taille2.','.$taille3.'&chs=250x100&chl='.$serveur1.'|'.$serveur2.'|'.$serveur3.' );
//le but c est pas de le coder en dur mais la je montre ce que le programme doit comprendre...
Bonne journée.
Bon j'ai résolu le petit 1 :
LA grande question c est comment réussir a sortir tous mes $gratab[$i][2] et [3] de cette boucle afin de les utiliser dans l'url :s....
for($i = 0; $i < count($gratab); $i++){
echo '<br />env =>'.$gratab[$i][2].' taille =>'.$gratab[$i][3];
}
LA grande question c est comment réussir a sortir tous mes $gratab[$i][2] et [3] de cette boucle afin de les utiliser dans l'url :s....
Bon j'ai trouvé ca sur le net :
Cela permet de faire le traitement d u tableau en url google charts mais (il y a tjs un mais) ce ne sont pas des tableaux dynamiques :
exemple du code trouvé :
et moi je préfererai que mon $data ressemble plus a ca :
Cela permet de faire le traitement d u tableau en url google charts mais (il y a tjs un mais) ce ne sont pas des tableaux dynamiques :
exemple du code trouvé :
/** Include class */ include( 'GoogChart.class.php' ); /** Create chart */ $chart = new GoogChart(); /* Example 1 Pie chart */ // Set graph data $data = array( 'IE7' => 22, 'IE6' => 30.7, 'IE5' => 1.7, 'Firefox' => 36.5, 'Mozilla' => 1.1, 'Safari' => 2, 'Opera' => 1.4, ); // Set graph colors $color = array( '#99C754', '#54C7C5', '#999999', ); /* # Chart 1 # */ echo '<h2>Pie chart</h2>'; $chart->setChartAttrs( array( 'type' => 'pie', 'title' => 'Browser market 2008', 'data' => $data, 'size' => array( 400, 300 ), 'color' => $color )); // Print chart echo $chart;
et moi je préfererai que mon $data ressemble plus a ca :
// Set graph data $data = array( $gratab[$i][2] => $gratab[$i][3], );sauf que si je met ca dans une boucle mon $data est réinit a chaque tour ....
Bon ca y est j'ai quand meme dû faire du multi post pour trouver la solution pour ceux que ca intéresse je vous met le contenu entier : deja il faut utiliser ca qui va nous aider : https://www.lafermeduweb.net
Apres voici le code
Merci a le pere qui m a aidé pour le array dans le array ^^.
Bonne journée
Apres voici le code
$sqgra = mysql_query("SELECT * FROM {$tablename} WHERE serveur = '{$serv}'");
$gratab = array ();
while($gra= mysql_fetch_array($sqgra)) {
array_unshift ($gratab, $gra);
}
/** Include class */
include( 'GoogChart.class.php' );
/** Create chart */
$chart = new GoogChart();
$i = count($gratab);
echo $i;
$data=array(); // création du tableau vide
for($i = 0; $i < count($gratab); $i++){
$data [ $gratab[$i][2] ]= $gratab[$i][3];
}
// Set graph colors
$color = array(
'#99C754',
'#54C7C5',
'#999999',
);
/* # Chart 1 # */
echo '<h2>Pie chart</h2>';
$chart->setChartAttrs( array(
'type' => 'pie',
'title' => 'Browser market 2008',
'data' => $data,
'size' => array( 400, 300 ),
'color' => $color
));
// Print chart
echo $chart;
Merci a le pere qui m a aidé pour le array dans le array ^^.
Bonne journée