Php 而if循环没有正确执行

Php 而if循环没有正确执行,php,if-statement,while-loop,Php,If Statement,While Loop,有人能帮我编写以下代码吗?从“categories”标记开始,输出工作正常,但if循环只返回数据库的最后一行。 $strXML = "<chart> \n"; $strQuery = "select inc_type, sum(num_of_occur) as cnt from inc_detail group by inc_type"; $query2 = mysql_query($strQuery); //call string query $strCategories

有人能帮我编写以下代码吗?从“categories”标记开始,输出工作正常,但if循环只返回数据库的最后一行。

$strXML = "<chart> \n";


$strQuery = "select inc_type, sum(num_of_occur) as cnt from inc_detail
group by inc_type";

$query2 = mysql_query($strQuery); //call string query

$strCategories = "<categories>\n"; //create categories
while ($cat = mysql_fetch_array($query2))
{
$strCategories .= "<category label='" . $cat['inc_type'] . "' /> \n"; //display categories
};
$strCategories .= "</categories> \n";

$strQuery2 = "select agency, inc_type, sum(num_of_occur) as cnt from inc_detail group  by inc_type, agency order by agency";
$query3 = mysql_query($strQuery2); //call string query
$agency = null;
while ($ds = mysql_fetch_array($query3))
{
    if( $ds['agency'] != $agency )
  {
    $K5 = "<dataset seriesName='" . $ds['agency'] . "' /> \n"; //create dataset
    $agency = $ds['agency'];
  }
    $K5 .= "<set value='" . $ds['cnt'] . "' /> \n"; //display value of dataset
    $K5 .= "</dataset> \n";
}


$strXML .= $strCategories . $K5 . "</chart>"; //end of XML


echo $strXML;
$strXML=“\n”;
$strQuery=“从inc\U detail中选择inc\U类型、总和(发生次数)作为cnt
按公司类型分组”;
$query2=mysql\u查询($strQuery)//调用字符串查询
$strCategories=“\n”//创建类别
while($cat=mysql\u fetch\u数组($query2))
{
$strCategories.=“\n”//显示类别
};
$strCategories.=“\n”;
$strQuery2=“按公司类型、按机构订单从公司明细组中选择机构、公司类型、金额(发生的数量)作为cnt”;
$query3=mysql\u查询($strQuery2)//调用字符串查询
$agency=null;
而($ds=mysql\u fetch\u数组($query3))
{
如果($ds[“代理”!=$agency)
{
$K5=“\n”//创建数据集
$agency=$ds[‘agency’];
}
$K5.=“\n”//数据集的显示值
$K5.=“\n”;
}
$strXML.=$strCategories$K5。""; //XML的结尾
echo$strXML;
问题在于:

$K5 = "<dataset seriesName ...
$K5=“问题出在这里:

$K5 = "<dataset seriesName ...

$K5=“我终于让它工作了。对于任何感兴趣的人来说,这是一个fusionchart php文件,它为多系列条形图获取mysql数据。下面是我的新代码:

$strXML = "<chart labelDisplay='Rotate' slantLabels='1' caption='Test' subCaption='By Quantity' decimalPrecision='0' showValues='0' showNames='1' numberSuffix=' Incidents'  formatNumberScale='10'>";

$strQuery = "select inc_type, sum(num_of_occur) as cnt from inc_detail
group by inc_type";

$query2 = mysql_query($strQuery); //call string query

$strCategories = "<categories>"; //create categories
while ($cat = mysql_fetch_array($query2))
{
$strCategories .= "<category label='" . $cat['inc_type'] . "' />"; //display categories
}
$strCategories .= "</categories>";

$strQuery2 = "select agency, inc_type, sum(num_of_occur) as cnt from inc_detail group  by inc_type, agency order by agency";
$query2 = mysql_query($strQuery2); //call string query
     $K5 = $blank;
        while ($ds2 = mysql_fetch_array($query2))
        {
        $K5 .= "<dataset seriesName='" . $ds2['agency'] . "' />"; //create dataset

                 //create dataset values
                        $strQuery4 = "select inc_type, sum(num_of_occur) as cnt from inc_detail where agency = '$ds2[agency]' group by inc_type";
                        $query4 = mysql_query($strQuery4);
                        while ($ds4 = mysql_fetch_array($query4))
                        {
                           $K5 .= "<set value='" . $ds4['cnt'] . "' />"; //display value of dataset
               }
    $K5 .= "</dataset>";
    }


$strXML .= $strCategories . $K5 . "</chart>"; //end of XML
echo renderChart("fc/MSColumn3D.swf", "", $strXML, "productSales", 900, 600);
$strXML=”“;
$strQuery=“从inc\U detail中选择inc\U类型、总和(发生次数)作为cnt
按公司类型分组”;
$query2=mysql\u查询($strQuery)//调用字符串查询
$strCategories=“”//创建类别
while($cat=mysql\u fetch\u数组($query2))
{
$strCategories.=“”;//显示类别
}
$strCategories.='';
$strQuery2=“按公司类型、按机构订单从公司明细组中选择机构、公司类型、金额(发生的数量)作为cnt”;
$query2=mysql\u查询($strQuery2)//调用字符串查询
$K5=$blank;
而($ds2=mysql\u fetch\u数组($query2))
{
$K5.=“”;//创建数据集
//创建数据集值
$strQuery4=“从inc_详情中选择inc_类型、总和(发生的数量)作为cnt,其中机构=“$ds2[机构]”按inc_类型分组”;
$query4=mysql\u查询($strQuery4);
而($ds4=mysql\u fetch\u数组($query4))
{
$K5.=“”;//数据集的显示值
}
$K5.=”;
}
$strXML.=$strCategories$K5。""; //XML的结尾
echo renderChart(“fc/MSColumn3D.swf”,”,$strXML,“productSales”,900600);

我终于让它工作了。对于任何感兴趣的人来说,这是一个fusionchart php文件,它为多系列条形图获取mysql数据。下面是我的新代码:

$strXML = "<chart labelDisplay='Rotate' slantLabels='1' caption='Test' subCaption='By Quantity' decimalPrecision='0' showValues='0' showNames='1' numberSuffix=' Incidents'  formatNumberScale='10'>";

$strQuery = "select inc_type, sum(num_of_occur) as cnt from inc_detail
group by inc_type";

$query2 = mysql_query($strQuery); //call string query

$strCategories = "<categories>"; //create categories
while ($cat = mysql_fetch_array($query2))
{
$strCategories .= "<category label='" . $cat['inc_type'] . "' />"; //display categories
}
$strCategories .= "</categories>";

$strQuery2 = "select agency, inc_type, sum(num_of_occur) as cnt from inc_detail group  by inc_type, agency order by agency";
$query2 = mysql_query($strQuery2); //call string query
     $K5 = $blank;
        while ($ds2 = mysql_fetch_array($query2))
        {
        $K5 .= "<dataset seriesName='" . $ds2['agency'] . "' />"; //create dataset

                 //create dataset values
                        $strQuery4 = "select inc_type, sum(num_of_occur) as cnt from inc_detail where agency = '$ds2[agency]' group by inc_type";
                        $query4 = mysql_query($strQuery4);
                        while ($ds4 = mysql_fetch_array($query4))
                        {
                           $K5 .= "<set value='" . $ds4['cnt'] . "' />"; //display value of dataset
               }
    $K5 .= "</dataset>";
    }


$strXML .= $strCategories . $K5 . "</chart>"; //end of XML
echo renderChart("fc/MSColumn3D.swf", "", $strXML, "productSales", 900, 600);
$strXML=”“;
$strQuery=“从inc\U detail中选择inc\U类型、总和(发生次数)作为cnt
按公司类型分组”;
$query2=mysql\u查询($strQuery)//调用字符串查询
$strCategories=“”//创建类别
while($cat=mysql\u fetch\u数组($query2))
{
$strCategories.=“”;//显示类别
}
$strCategories.='';
$strQuery2=“按公司类型、按机构订单从公司明细组中选择机构、公司类型、金额(发生的数量)作为cnt”;
$query2=mysql\u查询($strQuery2)//调用字符串查询
$K5=$blank;
而($ds2=mysql\u fetch\u数组($query2))
{
$K5.=“”;//创建数据集
//创建数据集值
$strQuery4=“从inc_详情中选择inc_类型、总和(发生的数量)作为cnt,其中机构=“$ds2[机构]”按inc_类型分组”;
$query4=mysql\u查询($strQuery4);
而($ds4=mysql\u fetch\u数组($query4))
{
$K5.=“”;//数据集的显示值
}
$K5.=”;
}
$strXML.=$strCategories$K5。""; //XML的结尾
echo renderChart(“fc/MSColumn3D.swf”,”,$strXML,“productSales”,900600);

感谢您的回复,但我不理解您的解决方案。我理解while循环,但我不擅长编程。如果你有一个非常有用的例子,谢谢你的回答,但我不理解你的解决方案。我理解while循环,但我不擅长编程。如果你有一个很有帮助的例子。