php - 在 joomla 2.5 上选择具有不同 catid 的文章

标签 php mysql joomla

我有 joomla 2.5,其中文章包含父类别和子类别。如下所示:

  • 第1条类别为新闻->校园->学院
  • 第2条类别为新闻->校园->大学
  • 第3条类别为新闻->校园->学院
  • 第4条类别为新闻->校园->大学

在这里,新闻是校园的父类别,依此类推。我知道每个类别都有独特的catid。但是,在数据库中,joomla 仅根据最后一个类别记录每篇文章。所以,如果我想根据新闻 id 获取文章,那么结果是空数组。所以,我必须选择学院或大学 ID。但是,我想要的是如何将具有机构和大学类别的文章放在一起。

有谁可以帮我解决joomla 2.5的php问题吗?

最佳答案

类别存储为 Nested Sets 。 如果从数据库中检索“新闻”类别,则“lft”和“rgt”列包含所有子类别的边界值。查询

SELECT * FROM #__categories AS category
LEFT JOIN  #__categories AS parent
    ON category.lft BETWEEN parent.lft AND parent.rgt
WHERE parent.id = 3

将为您提供 ID 为 3 的类别的所有子类别。请改用“新闻”类别的 ID。

请记住,该查询并未经过任何优化,仅用于说明该方法。

关于php - 在 joomla 2.5 上选择具有不同 catid 的文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649564/

相关文章:

php - datePicker 需要点击两次才能显示不可用的日期

php - 重复 key : Ambiguous

javascript - 根据内容高度调整 joomla 模块的数量

database - 如何在joomla中显示数据库数据

javascript - 如何在单个 onclick 中获取所有选定的选项值 id?

php - 分页 - 如何不允许用户进一步浏览现有页面?

php - 可以在 session 中切换 PHP session 吗?

php - 对流量大的网站上的帖子点赞

mysql - cs cart - 本地主机上的 mySQL 错误

php - 无法连接到 AWS 上的数据库