我正在制作视频标记系统。我知道搜索结果中我想要的每个视频的唯一ID,这要归功于之前我必须运行的查询,但我想要做的是在列表的搜索结果中显示每个视频的所有标签,这样就有多个类别显示和贡献者无需点击进入主页面。
以下代码为搜索结果中的2个视频返回5行。我总是可以循环这个结果,但那意味着我不能使用限制函数,我将不得不构建一些PHP来为我做这件事。
SELECT * FROM tags
JOIN siteupdates ON tags.item_id = siteupdates.clip_id
JOIN updatetype ON siteupdates.updatetype = updatetype.id_type
JOIN tagnames ON tags.tag = tagnames.tagid
WHERE tags.item_id IN (248,257)
ORDER BY siteupdates.clip_date DESC
结果(这是前5个结果的示例,我删除了大多数不相关的列)
uid / item_id / tag / updatetype / tagname / tagtype 1560 / 248 / 14 / 1 / tag 14 / Category 1561 / 248 / 3 / 1 / tag 3 / Contributor 1562 / 248 / 7 / 1 / tag 7 / Category 543 / 257 / 43 / 1 / tag 43 / Category 544 / 257 / 3 / 1 / tag 3 / Contributor
理想情况下,我需要的是2行结果,但包含所有标记数据。
或者,我只是要求只用MYSQL才能实现的东西,而我在PHP中循环的原始计划是唯一的选择吗?获取每个结果的标记信息的新查询对我来说听起来不是一个好主意,因为每页最多可以有50个结果,总共52个查询(包括脚本中的一个)!
非常感谢任何帮助。