我有一张文章表(文章树)。假设它具有id,parent_id和name。

php - 选择文章的可用父项(子项除外)-LMLPHP

对于文章的编辑形式,我想获取可用父文本的列表。我不能只列出所有文本,因为文章不能是它自己的子项目的子项目。

有没有办法使用MySQL获取该列表?

最佳答案

SELECT * FROM articles WHERE id NOT IN (

SELECT DISTINCT articles.id FROM
(
    SELECT
        @row_num := @row_num + 1 AS row_num,
        IF(@last_id <> my_list.id, @id := my_list.id, @id) AS path_id,
        @last_id := my_list.id AS id,
        @id := (SELECT DISTINCT parent_id FROM articles WHERE id = @id) AS parent_id
    FROM
        (SELECT @id := 0, @last_id := 0, @row_num := 0) AS vars,
        (SELECT id FROM articles) AS my_loop,
        (SELECT id FROM articles) AS my_list
) AS t

INNER JOIN articles
ON t.id = articles.id
WHERE path_id = :id
)

关于php - 选择文章的可用父项(子项除外),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47134950/

10-12 16:26
查看更多