12
votes

Récupérer des données de MySQL par PHP pour créer un graphique à flot

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


3 commentaires

À 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


4 Réponses :


0
votes

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.


0 commentaires

22
votes

Vous voulez probablement quelque chose comme ça. Je n'ai pas utilisé Flot mais j'ai regardé l'exemple ici . < Pré> xxx


4 commentaires

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é



3
votes

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>


1 commentaires

Est tombé sur ceci. J'essaie juste de le faire fonctionner. Je pense qu'il vous manque un $ à partir de la requête . Aussi la variable dB 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 :)



2
votes

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']));
    }
?>


0 commentaires