2013-03-18 4 views
0

У меня есть страница, отображающая организационное дерево, однако на уровне 2 есть повторяющиеся элементы. То, что я хотел, чтобы избежать дубликатов ...Повторяющиеся элементы на уровне 2

Вот пример отображения:

<ul id="org" style="display: none;"> 
<li>Brit School       
    <ul> 
     <li>Amy Winehouse 
      <ul> 
       <li>Carina Round</li> 
      </ul> 
     </li> 
     <li>Adele Adkins 
      <ul> 
       <li>Kreayshawn K</li> 
       <li>Leona Lewis</li> 
      </ul> 
     </li> 
     <li>Adele Adkins 
      <ul> 
       <li>Kreayshawn K</li> 
       <li>Leona Lewis</li> 
      </ul> 
     <li>Arctic Monkey 
      <ul> 
       <li>PJ Harvey</li> 
      </ul> 
     </li> 
    </ul> 

</li> 

Я хотел опустить на 2-й записи Адель это мой пример кода в PHP

<ul id="org" style="display: none;"> 
<?php foreach ($lvl1 as $genesA) {?> 
    <li> 
     <?php echo $genesA->LevelFullName1?> 
     <?php if($genesA->lvlMemF) {?> 
     <ul> 
     <?php if($genesA->lvlMemF) {?> 
      <?php foreach ($lvl2 as $genesB) {?> 
       <?php if($genesB->lvlMemS) {?> 
       <li><?php echo $genesB->LevelFullName2 ?> 
       <?php if($genesB->lvlMemS) {?> 
        <ul> 
        <?php if($genesB->lvlMemS) {?> 
         <?php foreach ($lvl3 as $genesC) {?> 
          <?php if($genesB->lvlMemS == $genesC->referrerLvl3) {?> 
           <li> 
            <?php echo $genesC->LevelFullName3?> 
           </li> 
          <?php } ?> 
         <?php } ?> 
        <?php } ?> 
        </ul> 
        <?php } ?> 
       </li> 
       <?php } else { ?> 

       <?php } ?> 
      <?php } ?> 
     <?php } ?> 
     </ul> 

     <?php }?> 
    </li> 
<?php } ?> 

Я не уверен, если я прохожу на правильном пути, я просто ш муравей грязного исправления, вот и все :)

ответ

1

, что должно это сделать:

<?php 
$seen = array(); 
?> 
<ul id="org" style="display: none;"> 
<?php foreach ($lvl1 as $genesA) {?> 
    <li> 
     <?php echo $genesA->LevelFullName1?> 
     <?php if($genesA->lvlMemF) {?> 
     <ul> 
     <?php if($genesA->lvlMemF) {?> 
      <?php foreach ($lvl2 as $genesB) {?> 
       <?php if($genesB->lvlMemS) {?> 
       <li><?php echo $genesB->LevelFullName2 ?> 
       <?php if($genesB->lvlMemS) {?> 
        <ul> 
        <?php if($genesB->lvlMemS) {?> 
         <?php foreach ($lvl3 as $genesC) {?> 
          <?php if($genesB->lvlMemS == $genesC->referrerLvl3) {?> 
           <?php if(!in_array($genesC->LevelFullName3, $seen)?> 
           <li> 
            <?php echo $genesC->LevelFullName3?> 
            <?php $seen[] =$genesC->LevelFullName3;?> 
           </li> 
           <?php }?> 
          <?php } ?> 
         <?php } ?> 
        <?php } ?> 
        </ul> 
        <?php } ?> 
       </li> 
       <?php } else { ?> 

       <?php } ?> 
      <?php } ?> 
     <?php } ?> 
     </ul> 

     <?php }?> 
    </li> 
</ul> 

вы можете проверить, если мой, если находится в правильном месте, потому что это может быть, что вы получите пустые ul блок, если все имена уже были замечены.

+0

Тот же выход. , –

+0

oh я сделал ошибку, он должен работать сейчас – ITroubs

+0

Он по-прежнему дает мне тот же выход хммммм. –