2017-09-05 24 views
0

中的類別我在MySQL中有兩個表,categoriessubcategories,我正在使用它們來填充下拉列表。無法顯示MySQL中的列表根據PHP

我想要的安排就是這樣;在選擇了特定類別時下拉項應根據主類別

問題是:當一個類別選擇了下拉項是一樣的 像這樣所有父類別

這是方法我用從數據庫中獲取的類別

public function get_categories($category_table) 
{ 
    // PURPOSE: get categories from the database 
    $sql = "SELECT * FROM $category_table"; 
    $conn = $this->mysql_conn; 
    $result = $conn->query($sql); 

    while ($row = $result->fetch_assoc()) { 
     // var_dump($row['category_name']); 
     $html = '<a href="#" class="dropdown-toggle list-group-item" data-toggle="dropdown">' . $row["category_name"] . '<span class="caret"></span></a> 
      <ul class="dropdown-menu">'; 

     //PURPOSE: get subcategories from database and pass it to the get_categories method 
     $subsql = "SELECT subcategory_name FROM subcategories WHERE category_id={$row['id']}"; 
     $conn = $this->mysql_conn; 
     $subresult = $conn->query($subsql); 

     while ($subrow = $subresult->fetch_assoc()) { 
      // extract($subresult); 
      // echo $subrow['subcategory_name'] . "<br>"; 
      $subcat_name = array(); 
      $subcat_name = $subrow['subcategory_name']; 
      // var_dump($subrow); 
     $html .= '<li><a href="#">' . $subcat_name . '</a></li>'; 
     } 
     $html .= '</ul>'; 
     echo $html; 
    } 
} 

這是我插入這個方法的HTML

<div class="dropdown list-group"> 
     <a href="#" class="list-group-item">Latest Products</a> 
     <?php $store->get_categories('categories'); ?> 
     </div> 
+1

你在哪裏試圖改變下拉列表?什麼不按預期工作? – David

+0

你應該有一些Ajax調用你的PHP主要類別的變化。 –

+0

'$ subcat_name = array();'是什麼意思?你立即用一個字符串覆蓋它。 – Barmar

回答

0

您正在使用列表的行爲類似於下拉菜單。這將需要一些花哨的JavaScript和CSS。您使用哪個庫(如果有)來自動執行該操作。

我用引導 Bootstrap dropdown documentation

+0

它只適用於HTML和CSS,但是當我應用PHP代碼時,我很難用下拉 –