$query2 = "select * from dvdcollector where situatie='goedgekeurd'";
$query2 .= " and regisseur = '". escapeQuote($result->fields['regisseur']) . "'";
$query2 .= " or titel like '%". escapeQuote($result->fields['titel']) ."%'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs2 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs3 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs4 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs5 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs6 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs7 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs8 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs9 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs2']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs3']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs4']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs5']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs6']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs7']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs8']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs9']) . "'";
$query2 .= " or acteurs10 = '". escapeQuote($result->fields['acteurs10']) . "'";
$query2 .= " order by RAND()";
答案 0 :(得分:6)
编辑:现在有更多桌子!
首先,在我看来,设计存在缺陷。如果我理解正确,你使用字段列出演员的名字:
movieId | actor | actor 2 | actor 3 | actor 4
由于这么多原因,这很糟糕。您可能想要开始阅读normalization in databases。
你最好把它分成三个表:
movies > movieId | movieTitle
actors > actorId | actorName
cast > movieId (fk to movies.movieId) | actorId (fk to actors.actorId)
示例:
movies > movieId:=123 | movieTitle:='Big Fish'
movies > movieId:=124 | movieTitle:='Matrix'
actors > actorId:=555 | actorName:='Ewan McGregor'
actors > actorID:=777 | actor:='Keanu Reeves'
actors > actorID:=888 | actor:='Lawrence Fishburne'
cast> actorId:=123 | movieId:=123
cast> actorId:=555 | movieId:=124
cast> actorId:=888 | movieId:=124
然后你的查询看起来像:
SELECT *
FROM movies JOIN cast ON cast.movieId=movies.movieID
JOIN cast JOIN actors ON actors.actorId = cast.actorID
WHERE actors.actorName = 'the_actor'
post scriptum:查询中的随机顺序也是一种反模式,请参阅SQL Antipatters by Bill Karwin。
答案 1 :(得分:2)
看起来您忘了规范化此表。 Acteur肯定是一个重复组。我建议你在整个情况恶化之前将其正常化。
如果您不想这样做,请使用where IN('')
语句并在该语句中使用select。
答案 2 :(得分:2)
CRIKEY !!!
你需要3张桌子......
表1:DVD 表2:业余
表3:dvd_acteur
现在,如果您需要查询中的一条记录,GROUP_CONCAT将有所帮助......
SELECT dvd.*, GROUP_CONCAT(`acteur`.`Name` SEPARATOR ',')
FROM dvd
LEFT JOIN dvd_acteur ON dvd_acteur.dvdID = dvd.dvdID
LEFT JOIN acteur ON acteur.acteurID = dvd_acteur.acteurID
WHERE dvd.situatie = 'goedgekeurd'
GROUP BY dvd.dvdID
看看情况如何。
答案 3 :(得分:-3)
您需要研究使用循环:http://www.w3schools.com/php/php_looping.asp。
一旦掌握了这一点,请学习一些mysql最佳实践:http://net.tutsplus.com/tutorials/other/top-20-mysql-best-practices/
您可能还想查看您的数据库设计并考虑为您添加某种属性Actors ...例如SELECT FROM actors WHERE acting_style ='method acting'
答案 4 :(得分:-3)
使用IN()
select * from dvdcollector where situatie='goedgekeurd'
...
and (acteurs in(acteurs1, acteurs2, ...) or
acteurs2 in(acteurs1, acteurs2, ...) or
acteurs3 in(acteurs1, acteurs2, ...)
)