php
  • mysql
  • highcharts
  • 2013-03-12 4 views 0 likes 
    0
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"  type="text/javascript"></script>  
    <script src='http://code.highcharts.com/highcharts.js' type='text/javascript'> </script>  
    <script src='http://code.highcharts.com/modules/exporting.js' type='text/javascript'> </script>  
    
    </head> 
    
    <body> 
    
    <?php 
    $con = mysql_connect('localhost', 'root', '123456') or die('Error connecting to server'); 
    mysql_select_db("aplikace", $con); 
    
    $SQL1 =  "SELECT * FROM data"; 
    
    $result1 = mysql_query($SQL1); 
    $data1 = array(); 
    while ($row = mysql_fetch_array($result1)) { 
        $data1[] = $row['cas']; 
    } 
    
    $result2 = mysql_query($SQL1); 
    $data2 = array(); 
    while ($row = mysql_fetch_array($result2)) { 
        $data2[] = hexdec($row['pars_data']); 
    } 
    
    
    ?> 
    
    <script type="text/javascript"> 
    $(document).ready(function() { 
        var chart = new Highcharts.Chart({ 
          chart: { 
          renderTo: 'container', 
          type: 'line' 
          }, 
    
         title: { 
            text: 'Comming Data' 
           }, 
    
         xAxis: { 
            categories: ['<?php echo join($data1, "','") ?>'], 
           }, 
    
         yAxis: { 
            min:0, 
    
           }, 
    
         legend: { 
            layout: 'vertical', 
            backgroundColor: '#FFFFFF', 
            align: 'left', 
            verticalAlign: 'top', 
            x: 50, 
            y: 35, 
            floating: true, 
            shadow: true 
           }, 
    
         plotOptions: { 
             column: { 
                pointPadding: 0.2, 
                borderWidth: 0 
               } 
            }, 
    
         series: [ { 
             name: 'Data', 
             data: ['<?php echo join($data2, "','") ?>'], 
             // pointStart: 0 
             //pointInterval 
            }, 
    
    
           ] 
        }); 
    }); 
    </script> 
    
    <div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div> 
    

    Highchart LineChart données MySQL

    Salut les gars, je ne kwno où j'ai une erreur, pourriez-vous me aider s'il vous plaît? Sur l'axe X devrait être le datetime de la colonne CAS-> cela fonctionne mais il n'affiche pas la colonne PARS_DATA. Merci pour votre aide, merci.

    MySQL écran TABLE:

    graphique que je vois:

    +0

    d'abord pourquoi exécuter deux fois une même requête lorsque vous pouvez le faire qu'une seule fois? Deuxièmement, avez-vous imprimé le tableau data2 pour voir à quoi cela ressemble? –

    +0

    pour les grands nombres, hexdec utilise la notation scientifique. Peut-être que ce sont des valeurs décousues. essayez après hexdec en utilisant number_format ($ hexdec_result, 0, '', ''); –

    +0

    vous avez raison, je peux faire des requêtes une fois, quand je veux afficher '$ data2' array tableau disparaître et je ne vois rien. Pourriez-vous me guider s'il vous plait? – forgatn

    Répondre

    0

    Vous devez convertir votre champ de date heure à horodatage unix pour le processus sur elle. donc la fonction strtotime est une bonne idée.

    Dans votre code, suivez ceci:

    $result=mysql_query($sql)or die(mysql_error()); 
    if(mysql_num_rows($result)>0){ 
        while($row=mysql_fetch_array($result)) 
        { 
         $uts=strtotime($row['time']); //convert to Unix Timestamp 
         $date=date("l, F j, Y H:i:s",$uts); //standard template for draw chart 
    
         echo $date . "\t" . $row['new_cost']. "\n"; //only this template work 
        } 
    

    $ sql: le texte de votre requête SQL. $ résultat: évaluation. $ row ['new_cost']: mon champ pour le coût.

    pour plus de détails, suivez this lien

    bonne chance

    Questions connexes