dongzanghui4624
dongzanghui4624
2012-04-20 10:37

图表不会在php和mysql中生成融合图表

I want to generate line graph based on database. First time i am using fusion charts, i follow the procedure for the dynamic charts in fusion charts documentation. Here is my php page code:

<?php
include("Includes/FusionCharts.php");
include("Includes/DBconn.php");
?>
<html>
    <title> Blood Pressure</title>
    <head>
        <script language="javascript" src="FusionCharts/FusionChart.js"></script>

    </head>
    <body>
    <center>
        <?php

        //connect to the DB
        $link= connectToDB();
        //$strXML will be used to store the entire XML document generated
   //Generate the graph element
   $strXML = "<graph caption='Blood Pressure Reading' subCaption='By Patient'xaxisname='Months' yaxisname='Blood Pressure' hovercapbg='F5589A' hovercapborder='F5589A' rotateNames='1' yAxisMaxValue='200'>";

   //Fetch records from database
   $query= "select * from patient_health";
   $result = mysql_query($query) or die(mysql_error());
   echo $result;

   //Iterate through each patient blood pressure systole

       while($row= mysql_num_rows($result)){
           //Generate the setname and value
          // echo $row['Date'];
           //echo $row['Systole_reading'];
           $strXML.="<set name='".$row['Date']."'value='".  $row['Systole_reading']."'/>";
           mysql_free_result($result);
       }     

       //Finally, close <graph> element
   $strXML .= "</graph>";
   //Create the chart - Pie 3D Chart with data from $strXML
   echo renderChart("FusionCharts/FCF_Line.swf", "", $strXML, "BloodPressure", 650, 450);

       ?>

    </center>

    </body>

</html>

I am getting error as: Warning: mysql_num_rows(): 6 is not a valid MySQL result resource in C:\xampp\htdocs\phpfusionamfusion\Chart.php on line 28 Chart. Can anyone please help me in this regard, Thank you in advance, Ramsai

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • du9698 du9698 9年前

    Because your trying to loop over the number of rows (6) rather than the rows themselves. Try

    while($row= mysql_fetch_assoc($result)){
    

    instead on your loop. This will return an associative array of the rows, which will then get looped over, placing each row into $row.

    点赞 评论 复制链接分享
  • dsfdf854456 dsfdf854456 9年前

    Check a few more things:

    a) The path to the SWF is correct.
    b) FusionCharts.js is loaded in the page
    c) print $strXML in a TEXTAREA to check whether proper XML is generated.

    点赞 评论 复制链接分享