【问题标题】:php dynamic css dropdown menu from sql db来自sql db的php动态css下拉菜单
【发布时间】:2014-01-04 06:24:47
【问题描述】:

你好,我最近开始学习 php 和 mySql,我正在尝试创建一个动态多级下拉菜单模块,我一直在学习一些教程,但我似乎无法让它工作,请帮忙。

我有 1 个名为:menu 的表

id......parent_id....名字

1…………0…………首页
2…………0…………关于
3............0............产品
4…………2…………我做什么
5............3............罐头

这是我正在使用的代码。

<?php
require_once "db_con.php";

echo '<ul>';
$main_set = "SELECT * FROM menu WHERE parent_id =0 ORDER BY id ASC"; 
$query = mysqli_query($con, $main_set) or die (mysqli_error()); 

$menuDisplay = '';

while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["pages_id"];
    $name = $row["name"];
    $menuDisplay .= '<li><a href="listed_menu.php?pid=' . $pid . '">' . $name . '</a></li>    ';

}

echo $menuDisplay;

echo '<ul>';

$sub_set = "SELECT * FROM menu WHERE parent_id ={$pid} ORDER BY id ASC"; 
$query = mysqli_query($con, $sub_set) or die (mysqli_error()); 

$menuDisplay = '';

while ($row = mysqli_fetch_array($query)) { 
    $pid = $row["pages_id"];
    $name2 = $row["name"];
    $menuDisplay .= '<li><a href="listed_menu.php?pid=' . $pid . '">' . $name2 . '</a></li>    ';

}

echo $menuDisplay;
echo '</ul>';
echo '</ul>';
mysqli_free_result($query); 
?>

现在应该是这样的:

  • 首页
  • 关于
    • 我在做什么
  • 产品
    • 罐头

但它只显示:

  • 首页
  • 关于
  • 产品

如果我将产品和罐头放在 parent_id 2 下,它会显示子项目,但不会显示任何其他 parent_id

请帮帮我,我正要往窗外扔东西,谢谢 :)

【问题讨论】:

    标签: php css sql dynamic drop-down-menu


    【解决方案1】:

    您的第二个查询不在循环内,因此它仅以$pid (3) 的最后一个值运行。该值(“产品”)没有子项,因此您在屏幕上看不到任何子项。将您的第二个查询放入一个循环中,以便您可以使用每个 $pid

    【讨论】:

      猜你喜欢
      • 2020-08-26
      • 1970-01-01
      • 2015-06-30
      • 2015-06-10
      • 2012-01-20
      • 2017-12-17
      • 1970-01-01
      • 2014-12-04
      • 2012-05-06
      相关资源
      最近更新 更多