2016-11-19 39 views
0

我想建立一個PHP循環產生具有多年這樣的HTML導航:如何動態地打開/關閉每個x的ul和li?

<ul> 
    <li> 
    1900 
    <ul> 
     <li>1901</li> 
     <li>1902</li> 
    </ul> 
    </li> 
    <li> 
    2000 
    <ul> 
     <li>2001</li> 
     <li>2002</li> 
    </ul> 
    </li> 
</ul> 

腓我想:

foreach (range(0, 1000, 100) as $number) { ?> 
    <ul> 
     // Here I should be checking 
     // if it is year 1942 or 2000 or 1080 
     // and place ti correctly 
     <?php echo $number; ?> 
    </ul> 
<?php } 

上述工作,給了我一個新的ul每100 。

但我不明白,我應該如何設置我php打開一個新的<ul><li>如果我們有「子年「世紀本身裏面,我也應該檢查哪一年是它,我纔能有它在輸出其右<ul><li>

+4

我只看到HTML,沒有PHP代碼來調試/幫助。 – Manikiran

+0

在幾個世紀的循環,並在 – Jeff

+0

@Manikiran內部做一個subloop(多年),因爲我主要尋找邏輯/語言幫助,這有助於我在開始編寫代碼之前就明白這一點。 –

回答

1

我希望這是你所需要的:

<?php 
$start_year=1900; 
$end_year=2100; 
for($year=$start_year;$year<=$end_year;$year++){ 
    if($year%10==0) //Replace 10 (for decades) with 100 (for centuries) 
    { 
     if($year!=$start_year){ 
      echo '</ul></li></ul>'; 
     } 
     echo '<ul><li>'.$year.'<ul>'; 
    } 
    else{ 
     echo '<li>'.$year.'</li>'; 
    } 
} 
?> 
+0

是排序謝謝,檢查我更新的問題,因爲我有一個更簡單的PHP範圍打開/關閉每100個,但如果我有1942例如呢? –

+1

現在我比以前更困惑了。如果你能告訴我們你是如何得到這些年(我的意思是如果你隨機或按順序得到它們),以及你想如何顯示(儘管你提交了一個html,但沒有清晰度)。 – Manikiran

+0

我通過自定義字段獲取它們,當我循環檢索內容時,它們是動態的 –

2
echo "<ul>"; 
    for ($century=1900; $century <= 2000 ; $century =$century + 100) { 
    echo "<li>". $century; 
     echo "<ul>"; 
     for ($year = $century; $year < $century + 100; $year++) { 
     echo "<li>". $year . "</li>"; 
     } 
     echo "</ul>"; 
    echo "</li>"; 
    } 
echo "</ul>";