<?php
foreach ($data as $key => $value) {
if ($value->district == 'Arghakhachi') {
$count += count($value->district);
?>
<tr>
<!-- <td><?= $key + 1 ?></td> -->
<td rowspan="<?php ($key == 0) ? echo $count : '' ?>"><?= $value->district ?></td>
<td><?= $value->fiscal_Year ?></td>
<td><?= $value->animal_distributed_total ?></td>
<td><?= $value->total_animal_ai_ni_total ?></td>
<td><?= $value->ni_conceived_animal_total ?></td>
<td><?= $value->ni_produced_animal_total_female_male ?></td>
</tr>
<?php }} ?>
我希望第一个 td 仅在地区名称为 Argakhanchi 时才根据总计数值合并行。我正在根据需要获得所有输出,离开行跨度。 由于 td 在循环内,代码在每个循环中都给了我计数增量,但我希望它一次作为总数。
有人可以帮我解决这个问题吗?
存储在$data中的值。
Array
(
[0] => stdClass Object
(
[fiscal_Year] => 2071/72
[district] => Arghakhachi
[animal_distributed_total] => 0
[ai_animal_total] => 232
[ai_convicted_animal_total_female_male] => 59
[ni_animal_total] => 61
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[1] => stdClass Object
(
[fiscal_Year] => 2072/73
[district] => Arghakhachi
[animal_distributed_total] => 12
[ai_animal_total] => 785
[ai_convicted_animal_total_female_male] => 198
[ni_animal_total] => 217
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[2] => stdClass Object
(
[fiscal_Year] => 2072/73
[district] => Gulmi
[animal_distributed_total] => 2
[ai_animal_total] => 831
[ai_convicted_animal_total_female_male] => 129
[ni_animal_total] => 285
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[3] => stdClass Object
(
[fiscal_Year] => 2072/73
[district] => Pyuthan
[animal_distributed_total] => 0
[ai_animal_total] => 123
[ai_convicted_animal_total_female_male] => 0
[ni_animal_total] => 0
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[4] => stdClass Object
(
[fiscal_Year] => 2072/73
[district] => Rolpa
[animal_distributed_total] => 2
[ai_animal_total] => 119
[ai_convicted_animal_total_female_male] => 21
[ni_animal_total] => 29
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[5] => stdClass Object
(
[fiscal_Year] => 2073/74
[district] => Arghakhachi
[animal_distributed_total] => 8
[ai_animal_total] => 869
[ai_convicted_animal_total_female_male] => 251
[ni_animal_total] => 278
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
[6] => stdClass Object
(
[fiscal_Year] => 2073/74
[district] => Gulmi
[animal_distributed_total] => 8
[ai_animal_total] => 803
[ai_convicted_animal_total_female_male] => 148
[ni_animal_total] => 213
[total_animal_ai_ni_female_male] => 0
[total_animal_ai_ni_total] => 0
[ni_conceived_animal_total] => 0
[ni_produced_animal_total_female_male] => 0
)
SQL代码:
select
bin.fiscal_Year,bin.district
,sum(bin.animal_distributed_total) animal_distributed_total
,sum(bin.ai_animal_total) ai_animal_total
,(sum(bin.ai_convicted_animal_total_male) + sum(ai_convicted_animal_total_female) ) ai_convicted_animal_total_female_male
,sum(bin.ni_animal_total) ni_animal_total
,(sum(bin.total_animal_ai_ni_male) + sum(bin.total_animal_ai_ni_female) ) total_animal_ai_ni_female_male
,sum(bin.total_animal_ai_ni_total) total_animal_ai_ni_total
,sum(bin.ni_conceived_animal_total) ni_conceived_animal_total
,(sum(bin.ni_produced_animal_total_male)+sum(bin.ni_produced_animal_total_female) ) ni_produced_animal_total_female_male
from breed_improvement_new bin
group by bin.fiscal_Year,bin.district
在进入打印循环之前,您应该找到您拥有的这个地区的行数。
<?php
foreach ($data as $key => $value) {
if ($value->district == 'Arghakhachi') {
$district[$value->district]=$value;
}
}
请记住,您应该省略下一行的第一个 td。
foreach ($district['Arghakhachi'] as $key=> $value) {
if($key==0){
?>
<tr>
<td rowspan="<?=count($district['Arghakhachi'])?>"><?= $value->district ?></td>
<td><?= $value->fiscal_Year ?></td>
<td><?= $value->animal_distributed_total ?></td>
<td><?= $value->total_animal_ai_ni_total ?></td>
<td><?= $value->ni_conceived_animal_total ?></td>
<td><?= $value->ni_produced_animal_total_female_male ?></td>
</tr>
<?php }else{ ?>
<tr>
<td><?= $value->fiscal_Year ?></td>
<td><?= $value->animal_distributed_total ?></td>
<td><?= $value->total_animal_ai_ni_total ?></td>
<td><?= $value->ni_conceived_animal_total ?></td>
<td><?= $value->ni_produced_animal_total_female_male ?></td>
</tr>
<?php } ?>
我没有测试这个。 但我相信这也许可以通过一些小的修改来工作。