循环浏览结果,每个类别仅显示一次教育

时间:2014-12-02 15:29:35

标签: php mysql output

我试图在我的HTML中正确输出查询数据。

我试图输出我的结果集,以便数据库中与特定Education_ID和教育相匹配的每一行只显示一个时间段类别(例如高中毕业证书/ Ged ,二级证书等)?目前它多次展示 - 与高中文凭或Ged"。

我希望尝试获得高中文凭或GED,专业证书等,只展示一次。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以为每个教育级别构建一个关联数组,然后迭代每个数组。

例如按如下方式构建数组

<?php

  $pathwaySteps_grouped_by_education=array();

  foreach ($pathwaySteps as $step => $paths): 
       $pathwaySteps_grouped_by_education[$paths['Education_ID']][$step]=$paths;
  endforeach; ?>

然后在显示记录时迭代数组

  <?php foreach ($pathwaySteps_grouped_by_education as $education_id=>$pathsgroup): ?>
            <div class="pathway-step 
                <?php #if (count($pathsgroup) == 1) echo 'single'; ?> 
                <?php if ($currentEd == $education_id) echo 'you-are-here'; ?>">
                <div class="pathway-content">
                   <?php $showeducationname=true; ?>
                    <?php foreach ($pathsgroup as $job): ?>
                       <?php if($showeducationname): ?>   
                         <h4><?php echo ucwords($job['Ed_Name']) ?></h4>
                         <?php $showeducationname=false; ?>
                       <?php endif; ?>
                        <div class="job">

                            <h5><?php echo $job['GroupName'] ?></h5>

                            <dl>
                                <dt>Entry Wage</dt>
                                <dd><?php echo $job['EntryWage'] ?></dd>
                                <dt>Median Wage</dt>
                                <dd><?php echo $job['MedianWage'] ?></dd>
                                <dt>Job Outlook</dt>
                                <dd><?php echo ucwords($job['Job_Outlook']) ?></dd>
                            </dl>
                        </div>
                    <?php endforeach; ?>
                </div> <!-- pathway-content -->
            </div> <!-- pathway-step -->
        <?php endforeach; ?>