Я хочу нарисовать круговую диаграмму Google с данными с моего сервера, в моем случае phpmyadmin. Для этого я использовал этот пример здесь:http://sophiedogg.com/creating-a-google-pie-chart-using-sql-data/.
Этот пример немного старше и работал не правильно, поэтому я изменил некоторую часть (то есть все выражения mysql на mysqli).
Но главная проблема заключается в том, что в этом примере в строках отображается почти только «NaN».
Эта проблема существует почти в оригинальном примере, как вы можете видеть здесь: http://sophiedogg.com/graphs/
Я пытался найти решение для нескольких часов, но безуспешно, поэтому я надеюсь, что вы, ребята, сможете мне помочь.
Может быть, это только синтаксическая ошибка.
На мой взгляд, вина должна быть здесь:
(1) index.php
function drawItems(num) {
var jsonPieChartData = $.ajax({
url: "getpiechartdata.php",
data: "q="+num,
dataType:"json",
async: false
}).responseText;
var jsonTableData = $.ajax({
url: "gettabledata.php",
data: "q="+num,
dataType:"json",
async: false
}).responseText;r code here
или (2) в getpiechartdata.php и gettabledata.php в var «q» или в SQL, где var q находится в середине.
$q=$_GET['q'];
…
$sql_query = "SELECT nickname, name, j2.label, j2.pointsum FROM user JOIN ( SELECT j1.user_id, j1.label, name, hover, j1.pointsum FROM activityfield JOIN ( SELECT user_id, activity_id, label, field_id , SUM( points.points ) AS PointSum FROM points JOIN activity ON points.activity_id = activity.id WHERE points.user_id='" . $q . "' GROUP BY points.user_id, points.activity_id, activity.label, activity.field_id ORDER BY points.activity_id ASC ) AS j1 ON activityfield.id = j1.field_id ) AS j2 ON j2.user_id = user.id WHERE pointsum > 0 ORDER BY j2.pointsum DESC";
$sql_query = "SELECT nickname, name, j2.label, hover, j2.pointsum FROM user JOIN ( SELECT j1.user_id, j1.label, name, hover, j1.pointsum FROM activityfield JOIN ( SELECT user_id, activity_id, label, field_id , SUM( points.points ) AS PointSum FROM points JOIN activity ON points.activity_id = activity.id WHERE points.user_id='". $q ."' GROUP BY points.user_id, points.activity_id, activity.label, activity.field_id ORDER BY points.activity_id ASC ) AS j1 ON activityfield.id = j1.field_id ) AS j2 ON j2.user_id = user.id WHERE pointsum > 0 ORDER BY j2.pointsum DESC";
$sql_query2 = "SELECT nickname, sum(j2.pointsum) as total FROM user JOIN ( SELECT j1.user_id, j1.label, name, hover, j1.pointsum FROM activityfield JOIN ( SELECT user_id, activity_id, label, field_id , SUM( points.points ) AS PointSum FROM points JOIN activity ON points.activity_id = activity.id WHERE points.user_id='". $q ."' GROUP BY points.user_id, points.activity_id, activity.label, activity.field_id ORDER BY points.activity_id ASC ) AS j1 ON activityfield.id = j1.field_id ) AS j2 ON j2.user_id = user.id WHERE pointsum > 0 GROUP BY user.nickname, user.id ORDER BY j2.pointsum DESC";
или (3) при создании таблицы
echo "{\"c\":[{\"v\":\"" . $row['nickname'] . "\",\"f\":null},{\"v\":\"" . $row['name'] . "\",\"f\":null},{\"v\":\"" . $row['label'] . "\",\"f\":null},{\"v\":\"" . $row['hover'] . "\",\"f\":null},{\"v\":\"" . $row['pointsum'] . "\",\"f\":null}]}, ";
Может быть, ошибка где-то еще, но я хочу, чтобы вы дали некоторые подсказки.
Пожалуйста, помогите мне найти это.
Задача ещё не решена.
Других решений пока нет …