你好,我需要在一个mysql查询中获取所有面包屑链接(URL,文本)。使用当前语言,表pages_text中的语言翻译(文本)。表格页面中的Ulr和parent_id。
所以我需要所有父母使用当前语言的行。
我有2张桌子
1:页
id名称parent_id url
1 Home 0 (some url)
2 About 1 (some url)
3 Contact 1 (some url)
4 Legal 2 (some url)
5 Privacy 4 (some url)
6 Products 1 (some url)
7 Support 1 (some url)
2:pages_text
id名称pages_id种语言ID
1 Main 0 2
2 About 1 1
3 (different languges) 1 3
4 (different languges) 2 4
5 (different languges) 4 2
6 (different languges) 1 1
7 (different languges) 1 2
[有些代码可以使一个表获得完整的父母行。
您能帮我更改2张桌子的代码吗?
id name parent_id
---------------------------
1 Home 0
2 About 1
3 Contact 1
4 Legal 2
5 Privacy 4
6 Products 1
7 Support 1
SELECT T2.id, T2.name
FROM (
SELECT
@r AS _id,
@p := @r AS previous,
(SELECT @r := parent_id FROM table1 WHERE id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 5, @p := 0, @l := 0) vars,
table1 h
WHERE @r <> 0 AND @r <> @p) T1
JOIN table1 T2
ON T1._id = T2.id
ORDER BY T1.lvl DESC
谢谢。
使用语言2表的工作代码全链面包屑:
SELECT T2.id, T2.name, T3.plates_title
FROM (
SELECT
@r AS _id,
@p := @r AS previous,
(SELECT @r := parent_id FROM pages WHERE id = _id) AS parent_id,
@l := @l + 1 AS lvl
FROM
(SELECT @r := 121, @p := 0, @l := 0) vars,
pages h
WHERE @r <> 0 AND @r <> @p) T1
JOIN pages T2
ON T1._id = T2.id
JOIN pages_text T3
ON T1._id = T3.pages_id where T3.languages_id = 1
ORDER BY T1.lvl DESC