2013-12-20 2 views
0

Я создаю диаграмму воронки, которая получает данные из таблицы mysql, используя jquery.it, работает на другом все диаграмме высоких графиков, но на диаграмме воронки он терпит неудачу. вот мой кодне может получить данные из mysql в highchart

index.php

<script type="text/javascript" src="high-js/funnel-chart.js"></script>  
<div id="topcustomer" style="height: 500px;"></div> 

воронкообразной chart.js

$(function() { 

    var curcust = new Highcharts.Chart({ 
     chart: { 
      renderTo:'topcustomer', 
      type: 'funnel', 
      marginRight: 100 
     }, 
     title: { 
      text: 'Top 5 Customer', 
      x: -50 
     }, 
     plotOptions: { 
      series: { 
       dataLabels: { 
        enabled: true, 
        format: '<b>{point.name}</b> ({point.y:,.0f})', 
        color: 'black', 
        softConnector: true 
       }, 
       neckWidth: '30%', 
       neckHeight: '25%' 

       //-- Other available options 
       // height: pixels or percent 
       // width: pixels or percent 
      } 
     }, 
     legend: { 
      enabled: false 
     }, 
     series: [{ 
      name: 'Current Month' 
     }] 
    }); 

    jQuery.get('data.php', null, function(tsv) { 
      var lines = []; 
      traffic = []; 
      try { 
       // split the data return into lines and parse them 
       tsv = tsv.split(/\n/g); 
       jQuery.each(tsv, function(i , line) { 
        line = line.split(/\t/); 
        cust = line[0] ; 
        traffic.push([ 
         cust, 
         line[1] 
        ]); 
       }); 
      } catch (e) { } 
      curcust.series[0].data = traffic; 
      chart = new Highcharts.Chart(curcust); 
     }); 
}); 

data.php

$result = mysql_query("SELECT customer, SUM(amount) AS amo FROM `yearly_sales` GROUP BY customer LIMIT 5"); 
while($row = mysql_fetch_array($result)) { 
     echo $row['customer'] . "\t" . $row['amo']. "\n"; 
} 

Не отображается ошибка, и диаграмма не генерируется. Есть ли ошибки в моем коде? пожалуйста, помогите мне с этой проблемой Thanx

ответ

1

редактировать - РНР должен быть чем-то вроде

$data = array(); 
while($row = mysql_fetch_array($result)) { 
     $data[] = array($row['customer'], $row['amo']); 
} 
echo json_encode($data); 

это еще немного грязный, но вы можете попробовать инстанцировании диаграмму после того, как у вас есть данные.

$(function() { 

    jQuery.get('data.php', null, function(tsv) { 
     var lines = []; 
     traffic = []; 
     try { 
      // split the data return into lines and parse them 
      tsv = tsv.split(/\n/g); 
      jQuery.each(tsv, function(i , line) { 
       line = line.split(/\t/); 
       cust = line[0] ; 
       traffic.push([ 
        cust, 
        line[1] 
       ]); 
      }); 
     } catch (e) { } 

     $('#topcustomer').highcharts({ 
      chart: { 
       type: 'funnel', 
       marginRight: 100 
      }, 
      title: { 
       text: 'Top 5 Customer', 
       x: -50 
      }, 
      plotOptions: { 
       series: { 
        dataLabels: { 
         enabled: true, 
         format: '<b>{point.name}</b> ({point.y:,.0f})', 
         color: 'black', 
         softConnector: true 
        }, 
        neckWidth: '30%', 
        neckHeight: '25%' 

        //-- Other available options 
        // height: pixels or percent 
        // width: pixels or percent 
       } 
      }, 
      legend: { 
       enabled: false 
      }, 
      series: [{ 
       name: 'Current Month', 
       data: traffic 
      }] 
     }); 
    }); 
}); 
+0

thanx @adamS, но его также не работает. –

+0

Каков результат вашего запроса. запустите data.php и опубликуйте результат. – adamS

+0

Его результаты как 'Company1 31150.00 Company2 8480.00 Company3' 3603370.50 Company4 (POWER PROD.DIV) 2241750.55 Company5 25657162.13 –

Смежные вопросы