使用PHP MYSQL将SQL与递归my book_类别连接到book_列表中

使用PHP MYSQL将SQL与递归my book_类别连接到book_列表中,php,mysql,arrays,recursion,Php,Mysql,Arrays,Recursion,我有两个表名book\u list和book\u category。模式如下所示: 图书目录 +---------+--------+-----------+ | id_book | id_cat | book_name | +---------+--------+-----------+ | 1 | 3 | Book Nam1 | | 2 | 1 | Book Nam2 | | 3 | 2 | Book

我有两个表名
book\u list
book\u category
。模式如下所示:

图书目录

+---------+--------+-----------+  
| id_book | id_cat | book_name |     
+---------+--------+-----------+     
|   1     |    3   | Book Nam1 |
|   2     |    1   | Book Nam2 |
|   3     |    2   | Book Nam3 |
+---------+--------+-----------+
图书分类

+--------+----------+-----------+-------+
| id_cat | cat_name | id_parent | level |
+--------+----------+-----------+-------+
|   1    |   name1  |     0     |   1   | 
|   2    |  name1.1 |     1     |   2   |
|   3    |name1.1.1 |     2     |   3   |
+--------+----------+-----------+-------+
已尝试的代码:

SELECT a.id_book, a.id_cat, a.book_name, b.cat_name, b.level 
FROM book_list a
INNER JOIN book_category b  ON  a.id_cat = b.id_cat
我需要操纵结果数组以添加面包屑,其中每个面包屑都有指向自身的链接,如:

table row:
<td>3(id_book)</td>
<td>Book Nam3 (book_name)</td>
<td>
  <a href="handle.php?id=<?=id_cat;?>">Name 1</a> » 
  <a href="handle.php?id=<?=id_cat;?>">Name 1.1</a> »
  <a href="handle.php?id=<?=id_cat;?>">Name 1.1.1</a>
</td>
表格行:
3(身份证簿)
图书Nam3(图书名称)
» 
»
希望我能表达我的观点,并感谢您的帮助。

试试看

SELECT a.id_book, a.id_cat, a.book_name , b.cat_name, b.level 
FROM book_list a
JOIN book_category b  ON  USING(id_cat)
然后

<a href="handle.php?id=<?=$id_cat;?>"><?=$cat_name?></a>

尝试此查询

SELECT
  bl.id_book, bl.id_cat, bl.book_name, tc2.cat_name, tc2.level
FROM
  book_list bl
JOIN book_category tc
  ON tc.id_cat = bl.id_cat
JOIN book_category tc2
  ON LOCATE(tc2.cat_name, tc.cat_name) > 0
WHERE
  tc.id_cat = 3

此查询基于出现的
cat\u name
子字符串。

检查您的查询如果您选择了两次.id\u book和一个不存在的.level,请先更正。@Jason\u vorhess,您是对的。SQL已更正,谢谢您的提示