PHP / Mysql拉5个相关的故事

时间:2010-10-14 17:54:32

标签: php mysql tags

我们在新闻帖子中添加标签(我们使用自己的CMS),我想根据用于个别故事的标签来提取5个相关故事。我们在数据库中有空格分隔的标签,因此我使用此代码将标签放入数组

$tags = explode(" ", $tags);

既然我们在数组中有标签,我想用它们从数据库中提取相关的故事。

foreach($tags as $t) {
    $pullRelated = mysql_query("SELECT * FROM `posts` WHERE `tags` LIKE '%$t%' AND `newsID` != '$newsID' LIMIT 5");

问题在于,如果有3个标签,它将显示15个相关故事(每个标签5个)。我想要的是,如果有2,3,4或5个标签,显示所有标签的混合故事,但仍然只显示5个故事。

么?

1 个答案:

答案 0 :(得分:0)

因此,您可以在posts表中将标记(关键字,类别)作为空格分隔的字符串。

除此之外,没有什么可以说的,除非你需要规范化你的设计,这将减轻你的所有问题,并使你的应用程序显着提高效率,判断你到目前为止所显示的内容。

沿着这条线的东西就足够了:

Rewriting mysql select to reduce time and writing tmp to disk