Тип данных для Google Charts с использованием PHP и MySQL - PullRequest
0 голосов
/ 25 февраля 2012

Я просто хочу знать, как я могу добавить тип данных здесь?В Google Charts требуется тип данных, когда я использую этот код:

Я получаю сообщение об ошибке от Google, что его тип данных необходимо определить ... пожалуйста, помогите.Спасибо!

while($r = mysql_fetch_assoc($query)) {

     $google_JSON = "{cols: [";    
     $column = array_keys($r);
     foreach($column as $key=>$value){
         $google_JSON_cols[]="{id: '".$key."', label: '".$value."'}";
     }    
     $google_JSON .= implode(",",$google_JSON_cols)."],rows: [";       

   $google_JSON_rows[] = "{c:[{v: '".$r['id']."'}, {v: ".$r['count']."}]}";
}    
// you may need to change the above into a function that loops through rows, with $r['id'] etc, referring to the fields you want to inject..
//pass it into google charts data
echo $google_JSON.implode(",",$google_JSON_rows)."]}";

1 Ответ

1 голос
/ 29 февраля 2012

Я давно не создавал PHP, поэтому я не собираюсь предлагать какие-либо исправления для вашего кода, но тип данных входит в элементы массива ссылки на хэш cols, т. Е. Где вы создаете {id: " key ", label:" value "}, вам нужно добавить 'type:" number "' или 'type:" string "' и т. д. Как определить, является ли это число строк, ссылаясь на ваш запрос, не собирается быть таким простым. Вы можете посмотреть на тип столбца через любые метаданные, которые модуль mysql предоставляет для столбца, но большинство диаграмм требуют числовые типы для серии и строковые / числовые типы для значений оси X. Вы всегда можете установить для первого столбца строку или число, а для других столбцов - число, но это будет зависеть от типа создаваемой вами диаграммы.

Кстати, я удивлен, что вы не можете создать структуру изначально в PHP, а затем преобразовать в JSON, вместо того, чтобы собирать строку JSON таким образом - вы можете сделать это в Perl довольно легко.

...