Bonjour, j'essaie de récupérer des données de la base de données MySQL pour créer un graphique à flot. quelqu'un peut-il me marcher dans cette procédure ou me donner une idée de quoi faire merci p>
4 Réponses :
Cela dépend en grande partie de votre environnement et de votre exigence. Vous pouvez utiliser beaucoup d'outils gratuits. Un exemple est FLOT qui vous permet d'utiliser JQuery pour construire des graphiques. Il y a un lien vers la documentation sur la page Code Google. P>
Vous voulez probablement quelque chose comme ça. Je n'ai pas utilisé Flot mais j'ai regardé l'exemple ici . < Pré> xxx pré> p>
Bonjour, j'ai fait comme vous l'avez dit, mais cela ne fonctionne pas, il y a une exception $ DataSet1 = tableau (); tandis que ($ rang = mysql_fetch_assoc ($ SQL)) {$ DataSet1 [] = tableau ($ ligne ['msgcount'], $ ligne ['group_id']); } echo json_encode ($ DataSet1); jQuery fonction Plotgraph () {alerte ("dans le corps"); $ .AJAX ({URL: "getdata.php", type: "post", type de données: "json", succès: fonction (données) {alerte (données); $ .Plot ($ ("# espace réservoir"), [ données]);}, erreur: fonction () {alerte ("il y avait un problème");}})} y a-t-il quelque chose manquant
Hey tom Cet exemple était vraiment utile mais maintenant je suis confronté à un problème de manipulation de la null parce qu'elle n'est pas tracée
@Sarah: Je suppose que vous pouvez les convertir en zéro - soit dans la requête E, G Ifnull (colname, 0) ou dans votre boucle PHP en moulant chaque valeur à un entier.
Merci d'avoir du mal à obtenir le JSON de PHP à flot et cela a parfaitement fonctionné
Ajout de l'exemple de @Tom Haigh :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Flot Examples</title> <link href="layout.css" rel="stylesheet" type="text/css"> <!--[if lte IE 8]><script language="javascript" type="text/javascript" src="../excanvas.min.js"></script><![endif]--> <script language="javascript" type="text/javascript" src="../jquery.js"></script> <script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> </head> <body> <h1>Flot Examples</h1> <div id="placeholder" style="width:600px;height:300px;"></div> <?php $server = "localhost"; $user="user"; $password="password"; $database = "some_database"; $connection = mysql_connect($server,$user,$password); $db = mysql_select_db($database,$connection); query = "SELECT x_axis_values, y_axis_values FROM some_table"; $result = mysql_query($query); while($row = mysql_fetch_assoc($result)) { $dataset1[] = array($row['x_axis_value'],$row['y_axis_value']); } ?> <script type="text/javascript"> $(function () { var dataset1 = <?php echo json_encode($dataset1); ?>; $.plot($("#placeholder"), [ dataset1 ]); }); </script> </body> </html>
Est tombé sur ceci. J'essaie juste de le faire fonctionner. Je pense qu'il vous manque un $ code> à partir de la requête code>. Aussi la variable
dB code> est uniquement référencée une fois. Est-ce correct? Ce qui précède ne se propagera pas de toute façon. J'aimerais de l'aide :)
Alors que @Tom Haigh dis bien fonctionne bien, mais vous devez ajouter un autre code pour bien fonctionner, j'utilisais l'exemple, mais je découvre dans le code source qu'il ajoutez aux guillemets "afin d'éviter tout simplement l'ajout de: IntTval au tableau, Exemple:
<?php $query = "SELECT valx, valy FROM chart"; $result = mysql_query($query); while($row = mysql_fetch_assoc($result)) { $d2[] = array (intval($row['valx']),intval($row['valy'])); } ?>
À quel moment avez-vous besoin d'aide exactement? Je suppose que vous savez essentiellement comment extraire les données de la base de données?
ya je sais comment extraire les données mais comment créer le flot
Après avoir récupéré le tableau, que dois-je faire