我的SQL结果getResult有很多行,它们在Header和SubHeader的每一列中都有不同的值,所以我希望它被分类,现在我想为每个subHeader添加一个计算getResult行的总结果
$header = "";
$subHeader = "";
$getResult = "";
foreach($QueryMySql as row):
if($header != $row->headerColumn)
{
$header = $row->headerColumn."<br />";
$get .= $header;
}
if($subHeader != $row->subHeaderColumn)
{
$subHeader = $row->subHeaderColumn."<br />";
$get .= $subHeader;
}
$getResult = $row->getResultColumn."<br />";
$get .= $getResult;
endforeach;
RESULT
美国位置(标题)
ICT部门(SubHeader)
1(emp_name)getResult
2(emp_name)getResult
3(emp_name)getResult
总计:3&lt; - 这是我想在输出中添加的
会计部门(副主席)
1(emp_name)getResult
2(emp_name)getResult
3(emp_name)getResult
4(emp_name)getResult
总计:4&lt; - 这是我想在输出中添加的
巴基斯坦(标题)
ICT部门(SubHeader)
1(emp_name)getResult
2(emp_name)getResult
3(emp_name)getResult
4(emp_name)getResult
总计:4&lt; - 这是我想在输出中添加的
印度(标题)
工程部(SubHeader)
1(emp_name)getResult
2(emp_name)getResult
3(emp_name)getResult
4(emp_name)getResult
总计:4&lt; - 这是我想在输出中添加的
答案 0 :(得分:0)
我理解的是你想要计算列,如果没有更新你想要的输出,如果是,那么使用这个代码将计算所有记录并将结果保存在输出中:
$grandTtoal = 0;$tempHeader='';$tempSubHeader='';
foreach($QueryMySql as $OneRow){
if($tempHeader == '' || $tempHeader != $OneRow->headerColumn)
{
echo $tempHeader = $OneRow->headerColumn."<br />";
}
if($tempSubHeader =='' || $tempSubHeader != $OneRow->subHeaderColumn)
{
echo $tempSubHeader = $OneRow->subHeaderColumn."<br />";
}
for($i=0; $i<mysql_num_fields($OneRow);$i++ )
{
echo ($i+1).' '.$OneRow[$i]->getResultColumn."<br />";
}
echo "Total: ".$i;
$grandTtoal += $i;
}
echo "Grand Total: ".$grandTtoal;
第二个选项。
$grandTtoal = 0;$tempHeader='';$tempSubHeader='';
foreach($QueryMySql as $OneRow){
if($tempHeader == '' || $tempHeader != $OneRow->headerColumn)
{
echo $tempHeader = '<h1>'.$OneRow->headerColumn.'</h1>'."<br />";
}
if($tempSubHeader =='' || $tempSubHeader != $OneRow->subHeaderColumn)
{
echo $tempSubHeader = '</h4>'.$OneRow->subHeaderColumn.'</h4>'."<br />";
}
for($i=0; $i<mysql_num_fields($OneRow);$i++ )
{
echo ($i+1).' '.$OneRow[$i]->getResultColumn."<br />";
}
echo "Total: ".mysql_num_fields($OneRow);
$grandTtoal += mysql_num_fields($OneRow);
}
echo "Grand Total: ".$grandTtoal;
答案 1 :(得分:0)
快速解决方案。
$head =array();$i = $j = $k = 1;
foreach($QueryMySql as $row){
if($row->headerColumn == 'Header1'){
if(!in_array('Header1', $head)){
echo $row->headerColumn."<br/>";
echo $row->subHeaderColumn."<br/>";
$head[] = $row->subHeaderColumn;
}
echo $i . $row->getResultColumn."<br />";
$i++;
}elseif($row->headerColumn == 'Header2') {
if(!in_array('Header2', $head)){
echo $row->headerColumn."<br/>";
echo $row->subHeaderColumn."<br/>";
$head[] = $row->subHeaderColumn;
}
echo $j . $row->getResultColumn."<br />";
$j++;
}elseif($row->headerColumn == 'Header3') {
if(!in_array('Header3', $head)){
echo $row->headerColumn."<br/>";
echo $row->subHeaderColumn."<br/>";
$head[] = $row->subHeaderColumn;
}
echo $k . $row->getResultColumn."<br />";
$k++;
}
}