1

如果有人可以帮助我,我将不胜感激;我花了几天时间试图找到解决方案。我有一个包含多个表的 MySQL 数据库;我希望根据影响这些表的某些查询显示格式化报告。

一个查询提取我的数据库中所有地区的记录的详细信息;地区的详细信息包括地区代码、位置、地区部长、电话和电子邮件。而另一个查询提取我的数据库中所有区域的记录的详细信息;区域的详细信息包括区代码、区域代码、区域名称、区域部长。每个区由一个或多个区域组成。

我的报告是有区代码的标题,区的详细信息,然后是该区的区域列表及其详细信息。

$districts = all_districts_details();  // The function that returns the Districts as an array
$zones = all_zones_details();  // The function that returns the Zones as an array

我的代码是

<?php include '../view/report_header.php'; ?>
    <?php 
    foreach ($districts as $district) {    ?>            
        <table width="1000" border="1" align="center" cellpadding="2">
        <tr>
            <td id="header5" colspan="2" rowspan="2"><?php echo $district['districtCode']; ?><br><div id="header2"><?php echo '(' . $district['locationName'] . ')'; ?></div></td>
            <td id="header3" width="74">DM</td>
            <td id="header3" width="294"><?php echo 'Pst. ' . $district['othernameDM'] . ' ' . $district['surnameDM']; ?></td>
            <td id="header4" width="177"><?php echo $district['emailDM']; ?></td>
            <td id="header2" width="143"><?php echo $district['phoneDM1']; ?></td>
        </tr>
        <tr>
            <td id="header3">ADM</td>
            <td id="header3"><?php echo $district['titleADM'] . '. ' . $district['othernameADM'] . ' ' . $district['surnameADM']; ?></td>
            <td id="header4"><?php echo $district['emailADM']; ?></td>
            <td id="header2"><?php echo $district['phoneADM1']; ?></td>
        </tr>

            <?php   foreach ($zones as $zone) { ?>
                <?php if ($zone['district_districtCode'] == $district['districtCode']) { ?>
                    <tr>
                        <td id="header6" width="47"><?php echo $zone['district_districtCode'] . '/' . $zone['zoneCode']; ?></td>
                        <td id="header2" width="225"><?php echo $zone['zoneName']; ?></td>
                        <td id="header3">ZM</td>
                        <td id="header3"><?php echo $zone['titleZM'] . '. ' . $zone['othernameZM'] . ' ' . $zone['surnameZM']; ?></td>
                        <td id="header4"><?php echo $zone['emailZM']; ?></td>
                        <td id="header2"><?php echo $zone['phoneZM1']; ?></td>
                    </tr>
                <?php }?>
            <?php } ?>


        </table>
 <?php   } ?>

<?php include '../view/report_footer.php'; ?>

上面的代码仅显示第一区的区域详细信息,并显示其他区域但不显示区域详细信息。

是不是我做错了什么?我想在不必使用类的情况下实现这一点。我很感激建议。谢谢你。

4

1 回答 1

1

在第一个循环之后,您需要:

  • 倒回 $zones 数组以重新开始。这将为第二个区域显示相同的区域。
  • 获取第二区的新区域。
于 2012-09-11T21:54:35.523 回答