Skip to content

Loading Chart Data from MySQL, or Other Databases

Here's a complete sample code of loading data from databases.

$query = "SELECT * FROM historical_data";

$rs = mysqli_query($query);
$nrows = mysqli_num_rows($rs);

$vdata = array();
while ($row = mysqli_fetch_array($rs)) {
$vdata1[] = $row[0];
$vdata2[] = $row[1];
$vdata3[] = $row[2];
$vdata4[] = $row[3];
$vdata5[] = $row[4];

}

$time =(array('$vdata2'));
$Series = (array('$vdata3,$vdata4'));

$pc = new C_PhpChartX(array($vdata3,$vdata4,$vdata5),'basic_chart');
$pc->set_animate(true);
$pc->set_title(array('text'=>'Basic Chart with Custom Grid Properties'));

//Show hide labels
$pc->add_series(array('showLabel'=>true));
$pc->add_series(array('showLabel'=>true));
$pc->add_series(array('showLabel'=>true));

$pc->set_series_default(array(
'rendererOptions'=>array('sliceMargin'=>2,'innerDiameter'=>110,'startAngle'=>-90,'highlightMouseDown'=>true),
'shadow'=>true,
'showMarker'=>true,
'lineWidth'=>1,
//'neighborThreshold'=>30,
'markerOptions'=>array('size'=>5)
));

//set phpChart grid properties
$pc->set_grid(array(
'background'=>'lightyellow',
'borderWidth'=>0,
'borderColor'=>'#000000',
'shadow'=>true,
'shadowWidth'=>10,
'shadowOffset'=>3,
'shadowDepth'=>3,
'shadowColor'=>'rgba(230, 230, 230, 0.07)'
));

//set axes
$pc->set_axes(array(
'xaxis'=>array('rendnerer'=>'plugin::CategoryAxisRenderer'),
'yaxis'=>array('padMax'=>2.0)));
//set axes
$pc->set_xaxes(array(
'xaxis' => array(
'borderWidth'=>1,
'borderColor'=>'#999999',
//'min'=>'test',
//'max'=>'23:59:59',
//'autoscale'=>true,
//'tickOptions'=>array('showGridline'=>false))
'tickOptions'=>array(
//'formatString'=>'%H:%M:%S',
'fontSize'=>'10pt',
'fontFamily'=>'Tahoma',
'angle'=>-40,
'fontWeight'=>'normal',
'fontStretch'=>1))
));

$pc->set_yaxes(array(
'yaxis' => array(
'borderWidth'=>0,
'borderColor'=>'#ffffff',
'autoscale'=>true,
//'min'=>'0',
//'max'=>50,
'numberTicks'=>21,
//'labelRenderer'=>'plugin::CanvasAxisLabelRenderer',
'label'=>'Energy Use')
));

//set legend properties
$pc->set_legend(array(
'renderer' => 'plugin::EnhancedLegendRenderer',
'show' => true,
'location' => 'e',
'placement' => 'outside',
'yoffset' => 30,
'rendererOptions' => array('numberRows'=>2),
'labels'=>array('Energy', 'Power', 'KWh')
));

$pc->set_highlighter(array(
'sizeAdjust'=>10,
'tooltipLocation'=>'n',
'useAxesFormatters'=>false,
'formatString'=>'Hello %s dayglow %d'));
$pc->set_cursor(array('show'=>true,'zoom'=>true));

$pc->draw(1000,600);
?>


Feedback and Knowledge Base