Php 通过一个查询显示类别、子类别

Php 通过一个查询显示类别、子类别,php,mysql,Php,Mysql,我的表格结构如下所示 仅主要产品表 此表包含类别、子类别和子类别,如下所示 id name parent_id link ------------------------- 1 ABC 0 dummy -- Parent Category 2 DEF 1 dummy -- Child category 3 GHI 1 dummy -- Child category 4 JKL 0 dumm

我的表格结构如下所示

仅主要产品表
此表包含类别、子类别和子类别,如下所示

id  name  parent_id  link
-------------------------
1   ABC      0      dummy  -- Parent Category
2   DEF      1      dummy  -- Child category
3   GHI      1      dummy  -- Child category
4   JKL      0      dummy  -- Parent Category
5   MNO      4      dummy  -- Child category
6   PQR      4      dummy  -- Child category
7   STU      2      dummy  -- Sub category 
8   VWX      2      dummy  -- Sub category
9   YZA      3      dummy  -- Sub category
10  BCA      3      dummy  -- Sub category 
11  FED      5      dummy  -- Sub category
12  IHG      5      dummy  -- Sub category 
13  LKJ      6      dummy  -- Sub category
下面是另一个处理产品规格的表格,规格仅适用于子类别,不适用于父类别或子类别

id  pid(fk of id in above table) img specifications
---------------------------------------------------
 1              7                dummy   dummy
 2              8                dummy   dummy
 3              9                dummy   dummy
 4              10               dummy   dummy
 ... so on
现在,我想在一个页面(父类别页面)上显示类似as的产品

我尝试过使用内部连接和左连接,但似乎没有任何效果。 我试过了

$querychildcat = "select m.*,sp.* from `main_pr` m INNER JOIN 
p_speci sp ON (m.id = sp.pid) where m.`parent_id` = '1'";

您能否给出所需查询的确切输出。我指的是带有样本数据的列。我看你们已经给出了示例,但若你们把它作为查询的输出,就像产品的第一个示例一样,那个就太好了。@AbhayChauhan。。。样本数据已经给出。。。你想让我提供实际数据吗???根据你上面的例子,你能不能也展示一下回复样本。内部联接将不起作用,因为0不在您的规范表中。请尝试左联接左联接也不起作用,因为parentid i pass是动态的,并且属于父类别。能否给出所需查询的确切输出。我指的是带有样本数据的列。我看你们已经给出了示例,但若你们把它作为查询的输出,就像产品的第一个示例一样,那个就太好了。@AbhayChauhan。。。样本数据已经给出。。。你想让我提供实际数据吗???根据你上面的例子,你能不能也展示一下回复样本。内部联接将不起作用,因为0不在您的规范表中。请尝试左联接左联接也不起作用,因为我传递的父ID是动态的,并且属于父类别。。
$querychildcat = "select m.*,sp.* from `main_pr` m INNER JOIN 
p_speci sp ON (m.id = sp.pid) where m.`parent_id` = '1'";