【发布时间】:2012-05-30 13:45:52
【问题描述】:
我正在用 OOP(仍在学习)PHP 编写我自己的简单画廊脚本。
我正在尝试以最有效的方式从数据库中提取相册,因为当前的画廊脚本 (Gallery2) 资源非常繁重,这将取代它。目前的画廊有大约 35,000 件物品和大约 100 张专辑。
(来源:iforce.co.nz)
如上图所示,我需要无限的子专辑(实际上最多可能只有 5-6 个)。
数据库布局非常简单,只需显示图像即可。
专辑表 专辑 ID (int/auto_increment) 专辑父(整数) 专辑名称(tingtext)
项目表 item_id (int/auto_increment) item_album (int) item_name (int)
我提出的几个查询都是基于使用 WHERE 语句并使用父专辑 ID 例如..
父 ID 0 = 顶级 父 ID 3 将获取所有以该 ID 为父的专辑。
我遇到的问题是我想使用专辑 (album_1/subalbum_1/etc) 名称和子专辑来构建面包屑和 URL,使用当前查询我无法一次全部提取它们。
除非我忽略了某些内容,否则 URL 需要像 script.php?album_id=1&album_id=3&album_id=6 这样才能抓住它们,就好像 1 是顶级,3 是子级,6 是 3 的子级一样。
我已经阅读了很多关于层次结构设置的文章,但大多数都是针对树层次结构布局的,我不需要为每个专辑一次显示所有专辑的子专辑,而是更倾向于单一路径层次结构。
谢谢
编辑 我想我应该指出,专辑名称可以任意命名,日期仅用于命名而非实际时间戳等。对不起
【问题讨论】: