php - 无法根据 PHP 中的类别显示来自 MySQL 的列表

标签 php mysql

我在 MySQL 中有两个表,categoriessubcategories,我使用它们来填充下拉列表。

我想要的排列是这样的;当选择特定类别时,下拉项目应根据主类别

问题:选择类别时,下拉项是相同的 对所有父类别都如此

这是我用来从数据库获取类别的方法

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>

最佳答案

您使用的列表的行为类似于下拉列表。这将需要一些花哨的 JavaScript 和 CSS。您使用哪个库(如果有)来实现自动化。

我使用 Bootstrap Bootstrap dropdown documentation

关于php - 无法根据 PHP 中的类别显示来自 MySQL 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061218/

相关文章:

mysql 可以将逗号值拆分为单个新列吗?

php - 了解 Doctrine 级联操作

javascript - 单击复选框时隐藏字段的总值不起作用

javascript - 具有相同 JS 文件和相同类的多个模态

php - Netbeans 7 - 不会导航到已注册多个项目的声明

python - MySQL 数据未在 Web 应用程序中更新 - Python/Flask

mysql:天数之间的细微差别

php - 使用 PHP 时出现错误 : "Duplicate entry ' 0' for key ' PRIMARY'"in MySql,

mysql - 根据另一个表的值对表的查询进行排序

mysql - 从当月开始计算年龄