2015-11-25 28 views
0

的所有項目,以及列表中的多個項目以及。PHP - 下拉不顯示我試圖讓一個下拉菜單中的MySQL

例如像: 這裏是我的數據庫: enter image description here

如果你看到圖像,你只能看到某一行中有一個父,如果我想多行有「父遠遠Away123' 這隻能說明項目之一

<?php 

    function build_dropdown ($parent, $pages){ 
    $items = ""; 
    foreach($pages as $page){ 
    // $items = ""; 
    if($page['parent'] == $parent){ 
    $items = $page; 
    } // END if 
    } // END foreach 

    if(is_array($items)){ // If a sub 
     echo '<ul id="sub_menu" class="sub_navagation'. $items['id'] .'">'; 
     echo '<li>'.$items['page_name'].'</li>'; 
     echo '</ul>'; 
    } // END if 
    }// End Function 

    $sql = "SELECT * FROM pages ORDER by item_order"; 
    $result = mysqli_query($db, $sql); 
    confirm_query($result); 

    while ($row = mysqli_fetch_assoc($result)) { 
    $pages[] = $row; // Add each row to $pages array to use later 
    } 


    foreach($pages as $key => $page){ 

    if($page['parent'] == 'none'){ ?> 

     <li id = "<?php echo $page['id']; ?>"> 
     <a href="page.php?id=<?php echo $page['id']; ?>" title="<?php echo  $page['page_title']; ?>"> 
      <?php echo $page['page_name']; ?> 
     </a> 
     <?php ?> 


<?php 
    } // END if 
    build_dropdown($page['page_name'], $pages); // If there are child items  then build them out 
echo "</li> "; 
    } // END foreach 
?> 

感謝

+1

不應該在父列中包含頁面的ID,而不是名稱? –

+1

你想多個項目顯示?其中只有一個人的「遠東遠東Away123」所以,如果你去到該頁面父母,只有一個會出現... –

+0

嘿,夥計,這將是一個偉大的想法,但我已經編碼的像,這將需要一個很長一段時間去改變它 –

回答

2

這是因爲你只添加一個。

你有一個foreach尋找子項目所有頁面,只記得其中的一個,後者if (is_array())

function build_dropdown($parent, $pages) 
{ 
    // item is an array 
    $items = array(); 
    foreach($pages as $page) { 
     if ($page['parent'] == $parent) { 
      // add an element to the array 
      $items[] = $page; 
     } // END if 
    } // END foreach 
    if ($items) { 
     echo '<ul id="sub_menu" class="sub_navagation">'; 
     foreach ($items as $item) { 
      echo '<li>'.$item['page_name']; 
      build_dropdown($item['page_name'], $pages); 
      echo '</li>'; 
     } // END foreach 
     echo '</ul>'; 
    } // END if 
}// End Function 

順便說一句,這將是更好的開始與功能,給予build_dropdown($parent = 'none', $pages)

+0

感謝奏效非常感謝 –

1

嘗試這個在你的buildDropdown()函數裏面。

$items = array(); 

foreach($pages as $page) 
{ 
    if($page['parent'] == $parent) 
    { 
     $items[] = $page; 
    } 
} 

if (count($items) > 0) 
{ 
    echo '<ul id="sub_menu_'.$parent.'" class="sub_navagation">'; 
    foreach($items as $item) 
    { 
     echo '<li>'.$item['page_name'].'</li>'; 
    } 
    echo '</ul>'; 
} 
+0

您將獲得E_NOTICE:第13行未定義指數「ID」(在此房源)和未定義PAGE_NAME幾行後 – clemens321

+0

謝謝,他不希望父母在某處的ID? –

+0

我趕到我的回答後市場,我看到你的帖子,我會給予好評你 –