当前位置: 首页 > 面试题库 >

PHP-MySQL从产品表创建树形视图

田化
2023-03-14
问题内容

我有一个类别表,如下所示。我要保存类别,该表中的子类别(多个子类别)。我的桌子看起来像

id     |    name       |  parent_of    |   created_on
-------+---------------+---------------+---------------------
1      |   Name 1      |  0            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
2      |   Name 2      |  0            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
3      |   Name 3      |  1            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
4      |   Name 4      |  1            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
5      |   Name 5      |  3            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------
6      |   Name 6      |  3            |  2013-05-1 00:00:00
-------+---------------+---------------+---------------------

现在,我需要查询该表并按如下所示创建树形结构,以轻松浏览前端的类别。

像这样的树

1
  |--> 3
  |   |--> 5
  |   |--> 6
  |--> 4
2

我对查询有点困惑。谁能帮帮我吗 ?

提前致谢


问题答案:

对于基本显示,您可以使用:

SELECT * FROM `Table` WHERE `parent_of` = 0;

它将为您提供所有的根节点。

当用户单击某个节点时,他/她/它向服务器(可能是Ajax)提交请求以获取被单击节点的子节点,例如:

$node = abs((int)$_GET['node']);

然后:

SELECT * FROM `Table` WHERE `parent_of` = {$node};


 类似资料:
  • 问题内容: 我有一个我想在SQL企业管理器中创建表的视图,但是运行此查询时总是会出现错误: 到目前为止,错误是:“’as’处的语法错误” 视图太大。是否可以使用前10名? 问题答案: 不支持。 用这个: 或者

  • 问题内容: 我正在创建一个要在网页上显示的表,并且该表是由MySQL数据库中的数据填充的。我正在尝试做一些让我感到困难的事情。 首先,我试图通过JavaScript调用HTML中单独文件中存在的PHP代码。我认为我的工作正常,但是我不确定100%是否正确(因为表格不会显示)。我认为它工作正常,因为该表的 某些 代码(在PHP文件中)显示在FireBug中。 其次,我正在尝试使行交替显示颜色以便于查

  • 主要内容:使用 MySQLi 和 PDO 创建 MySQL 表,实例 (MySQLi - 面向对象),实例 (MySQLi - 面向过程),实例 (PDO)一个数据表有一个唯一名称,并有行和列组成。 使用 MySQLi 和 PDO 创建 MySQL 表 CREATE TABLE 语句用于创建 MySQL 表。 创建表前,我们需要使用 use myDB 来选择要操作的数据库: 我们将创建一个名为 "MyGuests" 的表,有 5 个列: "id", "firstname", "lastname"

  • 产品创建是开发者建立新产品的第一步。需要注意的是,您必须创建品牌并在创建、产品过程中选择品牌。 接入类型选择 接入类型分为云云接入和设备直连接入两种。云云接入指的是通过云云打通。将设备接入HeyThings IoT服务平台。直连接入指设备直接与HeyThings平台通信。选择接入云云设备前需要确保在服务器配置中配置好相应属性。选择接入直连设备则需要对设备进行固件开发。 品类选择 品类是定义产品所属

  • 主要内容:基本语法,创建基于单表的视图,创建基于多表的视图,查询视图创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。 基本语法 可以使用 CREATE VIEW 语句来创建视图。 语法格式如下: CREATE VIEW <视图名> AS <SELECT语句> 语法说明如下。 :指定视图的名称。该名称在数据库中必须是唯一的,不能与其他表或视图同名。 :指定创建视图的 SELECT 语句,可用于查询多个基础表或源

  • 问题内容: 我必须建立一棵树,其中将包含约300个节点。该树没有深度限制。因此它可以具有3或15个级别。每个节点可以有无限数量的子代。 优先考虑的是尽可能快地获得完整的树/子树,但有时我也需要添加节点或移动节点,但并不是那么频繁。 我想知道在数据库中存储树的最佳方法以及在php中检索数据(如果可能)的最佳方法。 问题答案: 您可以使用 嵌套集模型, 因为它可以产生非常有效的查询。检出在MySQL中