$results2=mysql_query("
SELECT * FROM searchengine
WHERE
id IN (" . implode(',', $ids) . ")
OR id IN (" . implode(',', $ids2) . ")
INNER JOIN keywords ON searchengine.id=keywords.id
ORDER BY
(relevant-irrelevant) DESC,
(rating/votes) DESC,
report ASC,
LENGTH(description) DESC,
title ASC
LIMIT $page, $limit
");
上面代码中的某些内容并不像我想象的那样起作用,While循环返回布尔错误。
内爆函数的代码运行良好。
我的数据库是搜索引擎和关键字
搜索引擎:id,title,desc。。。
关键词:num,id,a,b
id中的A和B应该添加到搜索引擎中(基于相同的id(,以生成类似(id,title,desc,A,B…(的内容。问我你需要更多详细信息。
注意:搜索引擎id是唯一的数字,但关键字可以多次具有相同的id(其中一个相同的id由A和B值拾取并插入为$ids1(。
- 将where子句移到联接下面
- 用表名限定id。
searchengine.id
SELECT *
FROM searchengine
INNER JOIN keywords ON searchengine.id=keywords.id
WHERE
searchengine.id IN (" . implode(',', $ids) . ")
OR searchengine.id IN (" . implode(',', $ids2) . ")
ORDER BY
(relevant-irrelevant) DESC,
(rating/votes) DESC,
report ASC,
LENGTH(description) DESC,
title ASC
LIMIT $page, $limit
WHERE子句应该位于JOIN之后。
SELECT *
FROM searchengine
INNER JOIN keywords
ON searchengine.id=keywords.id
WHERE id IN (" . implode(',', $ids) . ")
OR id IN (" . implode(',', $ids2) . ")
ORDER BY (relevant-irrelevant) DESC, (rating/votes) DESC, report ASC, LENGTH(description) DESC, title ASC
LIMIT $page, $limit