$genre = 'Action|Adventure|Crime';
$starcast= 'Tom Hanks|Felicity Jones|Omar Sy|Irrfan Khan';
$S2 = mysql_query("SELECT title,hash,year FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."' LIMIT 16") or die (mysql_error());
while ($S = mysql_fetch_assoc($S2)){
这是有效的,但结果是混合数据。
数据LIMIT为16。
我希望通过星球播放第一个所有数据。
示例: - 如果startcast数据与9结果匹配,则所需的最后7个数据与流派匹配。
抱歉英语不好。问题是更新.....
答案 0 :(得分:1)
我怀疑您发布的查询是如何工作的。它应该抛出编译错误。您的查询应该看起来像
SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."'
ORDER BY id DESC
LIMIT 16
如果startcast数据与9结果匹配,那么最后7个数据需要与流派相匹配
除非你使用UNION
查询,否则不要认为你可以这样做
(SELECT title,hash,year
FROM IMDB WHERE starcast REGEXP '".$starcast."'
ORDER BY id DESC LIMIT 9)
UNION
(SELECT title,hash,year
FROM IMDB WHERE genre REGEXP '".$genre."'
ORDER BY id DESC LIMIT 7 )