Active
Project:
FusionCharts
Version:
6.x-1.0
Component:
Fusioncharts for Webforms
Priority:
Major
Category:
Support request
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
1 May 2014 at 18:29 UTC
Updated:
1 May 2014 at 18:29 UTC
Hi,
I am having some issues with getting my line chart from FusionCharts to work. I am using PHP and MYSQL. I have copied the code from the download package examples and I don't seem to understand what is needed to for me to display this. What I am trying to do is display the top 4 nutrients on a faily basis or if I could show it over 7 days through a line chart. But I am struggling.!
I am attaching a copy on my code with this email
include "connect.php";
session_start();
$Food_Name = '';
$Username = $_SESSION['Username'];
// SQL query for category labels
$query= "SELECT distinct food_item.date
FROM food_item
ORDER BY date ";
// Query database
$result = mysql_query($query) or die(mysql_error());
$query1 = "SELECT sum(`nutrients`.`Energ_kcal` * `Food_Item`.`Quantity`) as 'Total_KCal',
sum(`nutrients`.`Protein` * `Food_Item`.`Quantity`) as 'Total_Protein',
sum(food_item.Quantity * nutrients.Carbohydrate) as 'Total_Carbs',
sum(food_item.Quantity * nutrients.Fat) as 'Total_Fat'
FROM credentials, diary_day, food_item, nutrients
WHERE ((`credentials`.`Username` = '$Username')
AND(`diary_day`.`User_ID`=`credentials`.`user_id`)
AND (`nutrients`.`Food_ID` =`food_item`.`Food_ID`)
AND (`food_item`.`Diary_ID`=`diary_day`.`Diary_ID`))
AND ( `food_item`.`date` = (SELECT max( `food_item`.`Date`) as 'Date'
FROM food_item, diary_day, credentials
WHERE ((`food_item`.`Diary_ID` =`diary_day`.`diary_id`)
AND (`diary_day`.`User_ID` =`credentials`.`user_id`)
AND (`credentials`.`Username` ='$Username'))))";
$result1 = mysql_query ($query1) or die ("query failed: " . mysql_error());
if (mysql_num_rows($result1) > 0) {
$queryresults = mysql_fetch_array($result1);
$Total_KCal = $queryresults[0];
$Total_Protein = $queryresults[1];
$Total_Carbs = $queryresults[2];
$Total_Fat = $queryresults[3];
}
$strXML = "<chart legendPosition='' caption='Nutrients Trend' subCaption=' Top 4' xAxisName='Date' yAxisName='Grams' showValues='0' formatNumberScale='0' rotateValues='1' animation='1'>";
// Build category XML
$strXML .= buildResults($result, "date");
// Build datasets XML
$strXML .= buildResults1 ($result1, "Grams", "Date");
//Finally, close <chart> element
$strXML .= "</chart>";
//Create the chart - Pie 3D Chart with data from strXML
echo renderChart("FYP/FusionCharts/MSLine.swf", "", $strXML, "Nutrients", 700, 400, false, true);
// Free database resource
mysql_free_result($result);
mysql_free_result($result1);
mysql_close($db);
function buildResults( $result, $labelField )
{
$strXML = "";
if ($result) {
$strXML = "<categories>";
while($ors = mysql_fetch_array($result)) {
$strXML .= "<category label='" . $ors[$labelField]. "'/>";
}
$strXML .= "</categories>";
}
return $strXML;
}
function buildResults1 ($result1, $valueField, $controlBreak )
{
$strXML = "";
if ($result1) {
$controlBreakValue ="";
while( $ors = mysql_fetch_array($result1) ) {
if( $controlBreakValue != $ors[$controlBreak] )
{
$controlBreakValue = $ors[$controlBreak];
$strXML .= ( $strXML =="" ? "" : "</dataset>") . ( "<dataset seriesName='" . $controlBreakValue . "'>" ) ;
}
$strXML .= "<set value='" . $ors[$valueField] . "'/>";
}
$strXML .= "</dataset>";
}
return $strXML;
}
function renderChart( $chartSWF, $dataUrl, $dataStr, $chartId, $chartWidth, $chartHeight, $debugMode=false, $registerWithJS=true, $allowTransparent=false )
{
}
Would appreciate if anyone could give me some guidance!
Thanks
Pri