【发布时间】:2013-11-29 07:02:49
【问题描述】:
我正在尝试使用下表创建对 SEO 友好的 URL:
我正在尝试编写一个 mysql 查询,它将使用产生以下输出的类别表为 pages 表中的所有页面生成 URL。
预期输出:
这是我尝试生成最多 4 个段的 URL 的 MySql 查询:
SELECT pg.id AS page_id, p3.id, p1.category AS segment1, p2.category AS segment2, p3.category AS segment3,
pg.page_name AS PAGE , concat( '/', p1.category, '/', p2.category, '/', p3.category, '/', pg.page_name, '/' ) AS url
FROM category AS p1, category AS p2, category AS p3, pages AS pg
WHERE pg.category_id = p3.id
AND p3.parent_id = p2.id
AND p2.parent_id = p1.id
链接到SQL Fiddle
【问题讨论】:
-
你检查过任何数据库递归吗?这看起来像是一个递归练习......只是说'
-
@hanzo2001 这是给 cms 的
-
@mahavir-munot,我相信你不能在不创建存储过程(它会递归调用自身)的情况下对任意 URL 深度执行此操作。
-
以前有人问过这样的问题:stack overflow。在尝试这样做之前,您应该做更多的研究
标签: php mysql sql database seo