2011-04-14 4 views
2

숙제를했으며 코드가 작동하고 내가 원하는 것을합니다.PHP 메뉴 선택기 최적화

나는 6 옵션이있는 메뉴가 있습니다 :

목적은 다음과 같다. 하나의 옵션을 클릭하면이 옵션이 켜진 상태로 유지되고 나머지는 비활성화되며 클릭 할 때 각각의 옵션을 사용하여 연속적으로 실행해야합니다. 필자는 응용 프로그램의 최상위 메뉴를 제어하기 위해 다음 코드를 사용했으며 제대로 작동한다고 말했고 완벽하게 원하는 것을 수행합니다. 하지만 내 관심사는 다음과 같다. PHP 프로그래밍과 프로그래밍에 대해 숙련 된 사람이 아니기 때문에 여전히 배우고 있습니다. 올바른 방법인지 아니면 최악인지 알고 싶습니다. 또한이 코드를 최적화 할 수 있습니까? 스위치를 사용해 보았으나 비참하게 T_T를 실패했습니다. 사전에

감사)

환호 JotaDG

--------------- 코드 --------------- ------ 아마

<ul class="floating left"> 
<?php 
       if ($Section=='1'){?> 
        <li><a class="on" href="<?php echo $StartUpUrl;?>">Start</a></li> 
        <li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
        <li><a href="<?php echo $urlHelp;?>">Help</a></li> 
        <li><a href="<?php echo $urlDocs;?>">Docs</a></li> 
        <li><a href="<?php echo $urlNews;?>">News</a></li> 
        <li><a href="<?php echo $urlGuide;?>">Guide</a></li> 
       <?php } 
        elseif ($Section== '2'){?> 
          <li><a href="<?php echo $StartUpUrl;?>">Start</a></li> 
          <li><a class="on" href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
          <li><a href="<?php echo $urlHelp;?>">Help</a></li> 
          <li><a href="<?php echo $urlDocs;?>">Docs</a></li> 
          <li><a href="<?php echo $urlNews;?>">News</a></li> 
          <li><a href="<?php echo $urlGuide;?>">Guide</a></li> 
       <?php } 
        elseif ($Section== '3'){?> 
          <li><a href="<?php echo $StartUpUrl;?>">Start</a></li> 
          <li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
          <li><a class="on" href="<?php echo $urlHelp;?>">Help</a></li> 
          <li><a href="<?php echo $urlDocs;?>">Docs</a></li> 
          <li><a href="<?php echo $urlNews;?>">News</a></li> 
          <li><a href="<?php echo $urlGuide;?>">Guide</a></li> 
        <?php } 
         elseif ($Section== '4'){?> 
           <li><a href="<?php echo $StartUpUrl;?>">Start</a></li> 
           <li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
           <li><a href="<?php echo $urlHelp;?>">Help</a></li> 
           <li><a class="on" href="<?php echo $urlDocs;?>">Docs</a></li> 
           <li><a href="<?php echo $urlNews;?>">News</a></li> 
           <li><a href="<?php echo $urlGuide;?>">Guide</a></li> 
        <?php } 
         elseif ($Section== '5'){?>    
            <li><a href="<?php echo $StartUpUrl;?>">Start</a></li> 
            <li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
            <li><a href="<?php echo $urlHelp;?>">Help</a></li> 
            <li><a href="<?php echo $urlDocs;?>">Docs</a></li> 
            <li><a class="on" href="<?php echo $urlNews;?>">News</a></li> 
            <li><a href="<?php echo $urlGuide;?>">Guide</a></li> 
         <?php } 
          elseif ($Section== '6'){?> 
             <li><a href="<?php echo $StartUpUrl;?>">Start</a></li> 
             <li><a href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
             <li><a href="<?php echo $urlHelp;?>">Help</a></li> 
             <li><a href="<?php echo $urlDocs;?>">Docs</a></li> 
             <li><a href="<?php echo $urlNews;?>">News</a></li> 
             <li><a class="on" href="<?php echo $urlGuide;?>">Guide</a></li> 
      <?php }?> 
     </ul> 

답변

2

내가 이런 식으로 할 싶습니다

<?php 
//define an array of itmes I just taken three define all items 
$menu=array(
      1=> array('Start'=>'http://someurl'), 
      2=> array('FAQ'=>'http://faqurl'), 
      3=>array('Help'=>'http://helpurl') 
      ); 

foreach($menu as $key => $menuArray) 
{ 
    foreach ($menuArray as $title => $url) 
    { 
    ?> 
     <li><a <?php if ($Section==$key) { echo 'class="on"';}?> href="<?php echo $url;?>"><?php echo $title; ?></a></li> 
    <?php 
    } 
} 
?> 

나중에 URL이나 메뉴가 추가되거나 업데이트되면 전체 로직을 다시 검색하지 않아도 해당 업데이트를 $menu 배열에 추가하십시오.

+0

Sweeeeet. 그렇게하는 것이 훨씬 좋아요. 주어진 더 많은 생각! :-) – simnom

+0

와우, 빠르고 멋진 답변! 나는 이것을 이렇게 구현하고있다. 오 ~^_ ^. 고마워요 !! ... 죄송합니다. 투표는 15 평판을 요구합니다 :/죄송합니다 ... – JDG

0

여기 이렇게 만 할 수있는 더 succicient 방법은 시작이다 :

<ul class="floating left"> 
    <li><a <?php echo ($section == 1) ? 'class="on"' : '';?> href="<?php echo $StartUpUrl;?>">Start</a></li> 
    <li><a <?php echo ($section == 2) ? 'class="on"' : '';? href="<?php echo $urlListFAQ;?>">FAQ</a></li> 
    <li><a <?php echo ($section == 3) ? 'class="on"' : '';?> href="<?php echo $urlHelp;?>">Help</a></li> 
    <li><a <?php echo ($section == 4) ? 'class="on"' : '';?> href="<?php echo $urlDocs;?>">Docs</a></li> 
    <li><a <?php echo ($section == 5) ? 'class="on"' : '';?> href="<?php echo $urlNews;?>">News</a></li> 
    <li><a <?php echo ($section == 6) ? 'class="on"' : '';?> href="<?php echo $urlGuide;?>">Guide</a></li>   
</ul> 
+0

감사합니다. – JDG