Я не смог найти ответа на свой вопрос.Я использую PhPmyGraph (http://phpmygraph.abisvmm.nl/) для отображения графика некоторых данных из моих баз данных.Проблема в том, что я должен создать свои массивы в самом файле, и если мне нужно 2 графика на странице, мне нужно создать 2 разных файла.Очевидно, этот файл легче использовать с CMS, но я его не использую.
Это файл graph.php:
<?php
//Set content-type header for the graphs
header("Content-type: image/png");
//Include phpMyGraph5.0.php
include_once('../phpMyGraph5.0.php');
//Set config directives
$cfg['title'] = 'Example graph';
$cfg['width'] = 500;
$cfg['height'] = 250;
//Set data
$data = array(
'Jan' => 12,
'Nov' => 78,
'Dec' => 23
);
//Create phpMyGraph instance
$graph = new phpMyGraph();
//Parse
$graph->parseVerticalPolygonGraph($data, $cfg);
?>
Я называю его на своей странице index.php:
echo " < img src=\"graph.php\"> ";
Есть ли другой способ сделать это?И отправить данные из index.php в graph.php?Или, может быть, переместить код graph.php в index.php?Проблема в объекте изображения, я действительно не знаю, как это сделать!
ОБНОВЛЕНИЕ: Я почти нашел решение, мой код теперь:
in graph.php:
//Parse
$graph->parseVerticalPolygonGraph(unserialize($_GET['data']), $cfg);
index.php:
$select_daily = mysql_query("SELECT * FROM table");
while ($row_daily = mysql_fetch_assoc($select_daily) ){
$y = substr($row_daily['ymd'], 0, -4); // Year
$m = substr($row_daily['ymd'], 4, -2); // Month
$d = substr($row_daily['ymd'], -2); // Day
$key = $d."/".$m."/".$y;
$data_daily [$key] = $row_daily['members'];
}
foreach($data_daily as $key => $value) {
echo $key ,' : ', $value ,'<br/>';
}
echo "< img src=\"graph.php?data=".serialize($data_daily)."\">";
Но я получаю сообщение об ошибке "если данные не являются массивом"
Я могу 'не понимаю, что с ним не так?если я делаю var_dump ($ data_daily), я получаю:
array (8) {["14/12/2011"] => string (1) "0" ["13/12/2011"] => string (2)" 11 "[" 12.12.2011 "] => string (1)" 0 "[" 12.11.2011 "] => string (1)" 2 "[" 10/ 12/2011 "] => string (1)" 9 "[" 12.09.2011 "] => string (1)" 3 "[" 12/12/2011 "] => string (1)" 6"[" 12.07.2011 "] => string (1)" 6 "}
UPDATE2:
var_dump ($ data1);дает:
array(12) { ["Jan"]=> int(12) ["Feb"]=>
int(25) ["Mar"]=> int(0) ["Apr"]=> int(7) ["May"]=> int(80) ["Jun"]=>
int(67) ["Jul"]=> int(45) ["Aug"]=> int(66) ["Sep"]=> int(23)
["Oct"]=> int(23) ["Nov"]=> int(78) ["Dec"]=> int(23) }
и var_dump ($ s_data1 = serialize ($ data1)) дает:
a:12:s:3:"Jan";i:12;s:3:"Feb";i:25;s:3:"Mar";i:0;s:3:"Apr";i:7;s:3:"May";i:80;s:3:"Jun";i:67;s:3:"Jul";i:45;s:3:"Aug";i:66;s:3:"Sep";i:23;s:3:"Oct";i:23;s:3:"Nov";i:78;s:3:"Dec";i:23;}
Затем десериализацию ($ s_data1);выдает то же самое, что и $ data1
Таким образом, аргумент 1 синтаксического анализа должен быть правильным ... Я не вижу, что не так
Я наконец сдался и загрузил свои массивы в граф.php:
if ($_GET['data'] == 'daily'){
$cfg['title'] = 'daily';
$graph->parseVerticalPolygonGraph($data_daily, $cfg);
}
И я называю файл так:
echo "<img src=\"graph.php?data=daily\">";
Спасибо за вашу помощь в любом случае