对我的 foreach 循环结果进行分类
Categorizing my foreach loop result
我的 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;
结果
USA Location(Header)
ICT Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
total: 3 <- this is what i wanted to add in my output
Accounting Department(Subheader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
Pakistan(Header)
ICT Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
India(Header)
Engineering Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
我的理解是你想要计算列,如果没有,请更新你想要的输出,如果是,那么使用这个代码来计算所有记录并将结果保存在输出中:
$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;
一个快速的解决方案。
$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++;
}
}
我的 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;
结果
USA Location(Header)
ICT Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
total: 3 <- this is what i wanted to add in my output
Accounting Department(Subheader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
Pakistan(Header)
ICT Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
India(Header)
Engineering Department(SubHeader)
1 (emp_name)getResult
2 (emp_name)getResult
3 (emp_name)getResult
4 (emp_name)getResult
total: 4 <- this is what i wanted to add in my output
我的理解是你想要计算列,如果没有,请更新你想要的输出,如果是,那么使用这个代码来计算所有记录并将结果保存在输出中:
$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;
一个快速的解决方案。
$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++;
}
}