gpt4 book ai didi

php - 如何确保已从 mysql 中提取的项目不再被提取

转载 作者:行者123 更新时间:2023-11-29 05:43:49 25 4
gpt4 key购买 nike

我正在制作一个相关故事部分,它使用帖子中的标签来浏览并查找具有类似标签的其他故事。

我想确保我不会多次提取同一个故事,如果它与另一篇文章共享多个标签。

基本上是这样

foreach($tags as $t) {

$getStories = mysql_query("SELECT * FROM `posts` WHERE `tags` LIKE '%$t%' LIMIT 2");

while($related = mysql_fetch_array($getStories)) {
echo $related['title'];
}

所以我根据第一个标签提取了 2 个相关的故事,现在,当第二个标签通过下一个循环时,我如何确保上次提取的故事不会在第二个或第三个中被选中时间。我确实有一个名为“id”的唯一 ID,只是不确定在这种情况下如何处理它。

谢谢!

最佳答案

您可以做的是一次获取所有相关文章:

$tagsClause = '';
foreach ($tags as $t) {
$tagsClause .= " OR tags LIKE '%$t%'";
}
$tagsClause = substr($tagsClause, 4); // Remove first ' OR '

$getStories = mysql_query('SELECT * FROM `posts` WHERE ' . $tagsClause);
while($related = mysql_fetch_array($getStories)) {
echo $related['title'];
}

但是,这不考虑您对 LIMIT 的使用。

编辑
显然这没有造成问题,参见。评论。

关于php - 如何确保已从 mysql 中提取的项目不再被提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4447345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com