2014-04-30 1 views
-2

Я создаю один пирог с градиентной заливочной диаграммой из Highcharts с использованием json, php и mysql query.Debug через консоль firebug, но никаких ошибок и графиков не отображается. Я создаю статический граф [ссылка] http://jsfiddle.net/sunman/YKE2P/10/ как это я хочу, чтобы создать это с динамичным с JSON и mysql.Here моя проблема мои данные JSON не генерировать graph.Below мои code.My отображает данные в формате JSON, как:Создание проблем в экспорте данных JSON в Pie с градиентным заполнением в Highcharts

[{"name":{"MOZILA":45.0}},{"name":{"IE":26.8}},{"name":{"CHROME":12.8}},{"name":{"OPERA":6.2}},{"name":{"OTHERS":9.2}}] 

index.php:

$(function() { 

    // Radialize the colors 
    Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) { 
     return { 
      radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 }, 
      stops: [ 
       [0, color], 
       [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken 
      ] 
     }; 
    }); 

    // Build the chart 
    $('#container').highcharts({ 
     chart: { 
      plotBackgroundColor: null, 
      plotBorderWidth: null, 
      plotShadow: false 
     }, 
     title: { 
      text: ' Rate of a specific project' 
     }, 
     tooltip: { 
      pointFormat: '{series.name}: <b>{point.percentage:.1f}</b>' 
     }, 
     plotOptions: { 
      pie: { 
       allowPointSelect: true, 
       cursor: 'pointer', 
       dataLabels: { 
        enabled: true, 
        format: '<b>{point.name}</b>: {point.percentage:.1f}', 
        style: { 
         color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black' 
        }, 
        connectorColor: 'silver' 
       } 
      } 
     }, 
     series: [{ 
      type: 'pie', 
      name: 'Total without cost', 
      data:[] 

     }] 
     }); 
     $.getJSON("data.php", function(json) { 
      //options.series.push(data); 
        options.series[0].data = json; 
      chart = new Highcharts.Chart(options); 

     }); 
}); 

data.php:

$sql="SELECT mozila,ie,chrome,opera,safari,torch FROM webmarketing"; 
    $resultSql = mysql_query($sql); 
    $result = array(); 
    while($rows=mysql_fetch_array($resultSql)) { 
    $arr['name'] = array('MOZILA' => $rows['mozila']); 
    $arr1['name']= array('IE' => $rows['ie']); 
    $arr2['name'] = array('CHROME' => $rows['chrome']); 
    $arr3['name']= array('OPERA' => $rows['opera']); 
    $arr4['name'] = array('OTHERS' => $rows['safari']+$rows['torch']); 
    } 
    array_push($result,$arr); 
    array_push($result,$arr1); 
    array_push($result,$arr2); 
    array_push($result,$arr3); 
    array_push($result,$arr4); 
    print json_encode($result, JSON_NUMERIC_CHECK); 

Так прошу вас, пожалуйста, помогите, где мой код является неправильным. Я хочу link этот тип графика, но с dynamic.I не знаю json-кода. Так что любезно прошу вас предложить мне вопрос.

+0

@Sebastian Bochan Не могли бы вы помочь мне этот вопрос – sunman

ответ

0

Проблема здесь:

$.getJSON("data.php", function(json) { 
    options.series.push(data); 
    chart = new Highcharts.Chart(options); 
    }); 

Вы добавляете новую серию, которая имеет какой-то странный формат .. Я совет использовать это вместо того, чтобы:

$.getJSON("data.php", function(json) { 
    options.series[0].data = json; 
    chart = new Highcharts.Chart(options); 
    }); 
+0

Fus Спасибо За ваш ответ. Я уже пробовал этот код. Не работает, а также нет ошибок. Обращайтесь к вам любыми другими способами. – sunman

+0

. Добавьте к вашему примеру пример ваших данных из ответа AJAX. –

+0

Fus Теперь я обновил свой код. Поэтому прошу вас, пожалуйста, проверьте мой код, где это неправильно. [Link] http://jsfiddle.net/sunman/YKE2P/13/ – sunman

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