我需要在我的php/mysql项目中显示故事细节和标记名。
对于每个故事行,都有一个名为:tags的文件,它将tags id保存为数组
表名:stories
表字段:标记
标签归档示例:
1 5 6个
他们之间的距离
我有一张这样的标签表
表名:bt_tags
表文件:tid,tag
现在的问题:
当使用while循环获取story表中的所有字段时,页面使用1个查询来显示每个stories的详细信息,但是为了显示标记的名称,我应该查询另一个表来查找名称,story表中存储了id
现在我使用while循环来显示标记名,但我确信有更好的方法来减少页面查询
允许更改数据库表中的任何内容
如果不使用**for循环,如何改进此脚本并显示标记的名称?**

最佳答案

SELECT stories.storyid,
       stories.storyname,
       group_concat( tags.tagname )
  FROM stories, tags
 WHERE CONCAT( ' ', stories.tags, ' ' ) LIKE CONCAT( '%', tags.tagid, '%' )
 GROUP BY stories.storyid, stories.storyname

关于php - 如何减少php/mysql数组选择循环中的查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2913632/

10-10 04:55