mysql - 将 MySQL 条目排序为子项和父项

标签 mysql parent-child

所以我有一个表,列是 id、parent-id 和 name。

这是显示的内容。

1 Web Design
- 5 Templates
- 6 Finished Websites
2 Graphic Design
3 Photography
4 Image Manipulation

来自这里:

while($row = mysql_fetch_array( $result )) {
 echo $row['id'] . " ";
 echo $row['name'] . "<br/ >";

 while($row = mysql_fetch_array( $result2 )) {
  echo "- " . $row['id'] . " ";
  echo $row['name'] . "<br/ >";
 }
}

我如何动态地列出他们各自 parent 下的所有 child ,例如......

1 Web Design
- 5 Templates
- 6 Finished Websites
2 Graphic Design
- 7 T-Shirts
- 8 Logos
3 Photography
- 9 Portraits
- 10 Nature
- 11 Animal
- 12 Architecture
4 Image Manipulation

最佳答案

没关系,明白了....

// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM `portfolio-categories` WHERE `parent-id` ='0'")
or die(mysql_error());

// keeps getting the next row until there are no more to get

$parent = 0; 

while($row = mysql_fetch_array( $result )) {
    echo $row['id'] . " ";
    echo $row['name'];

    $parent += 1;
    echo "#" . $parent . "#";

    echo "<br/ >";

    $result2 = mysql_query("SELECT * FROM `portfolio-categories` WHERE `parent-id`=$parent")
or die(mysql_error());

    while($row = mysql_fetch_array( $result2 )) {
        echo "- " . $row['id'] . " ";
        echo $row['name'] . "<br/ >";
    }
}

关于mysql - 将 MySQL 条目排序为子项和父项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4176707/

相关文章:

mysql - 列定义中 TIMESTAMP 后面的值是什么意思?

mysql - 查找 mysql 中记录的最新值

mysql - 无法在mysql中显示波兰语字符

php - 从一个 php 文件生成时的自定义 URL

android:在不调整父级大小的情况下调整子级大小

Solr 反规范化和引用数据的更新

c# - 删除游戏对象的最后一个 child 的简单方法

mysql - 使用外键创建表时出错

c - 等待子进程一段时间

c++ - 父进程 "listening"到子消息