使用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已更正,谢谢您的提示