2016-12-02 61 views
2
$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)){ 

这是工作,但结果是混合数据。MySQL相似2列需要开始数据第一列

数据流量上限为16

我想通过一号所有starcast数据。

示例: - 如果startcast数据与9结果匹配,则最后7个数据需要与流派匹配。

对不起英语感到抱歉。

问题是更新.....

+0

不要使用'mysql_ *'API。 –

回答

1

我怀疑你的发布的查询如何工作。它应该抛出编译错误。您的查询应该像

SELECT title,hash,year 
FROM IMDB WHERE starcast REGEXP '".$starcast."' or genre REGEXP '".$genre."' 
ORDER BY id DESC 
LIMIT 16 

如果与9结果因此上7点的数据需要配以风格startcast数据匹配

不认为你可以把它像,除非你使用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) 
+0

谢谢..现在问题是更新.. –

+0

星播数据号不固定... –

+0

它不需要,因为你传递它的参数。首先尝试建议的答案。如果不起作用,则评论。否则编辑你的文章,并包括样本数据和所需的输出。 – Rahul