我想我不明白“排序”是如何工作的,所以请不要评判我。我真的整天都在寻找。
我有一个带有演员列的电影表。一个名为“演员”的列。演员是由空格“”分隔的链接。链接的顺序非常重要。
我将链接分解成一个数组,看起来像 [0]-> link0, [1]->link1, ...
我有演员表,每个演员也有它的电影链接。我不想进行 20 次不同的 sql 搜索,所以我用我想要的所有链接创建了一个变量,就像这样(WHERE actor_link
= link1 OR actor_link
= link2 OR ..)
问题是这样的。搜索可能会首先找到link7,所以我的排序已经消失了。我能做些什么来保持电影表中的顺序。我想按电影中的受欢迎程度来显示演员,而不是我的数据库的顺序。
你能给我另一种方法来搜索演员而不进行'x' sql搜索并且仍然保持顺序吗?
$actors[] = explode(" ", $row['actors_link']);
$x=0;
$actors2 = '';
while ($actors[0][$x]) {
$actors2 = $actors2 . "`link_imdb_actor` = " . "'".$actors[0][$x]."' OR ";
$x++;
}
$actors2 = substr($actors2, 0, -3);
$sql = "SELECT * FROM `actors` WHERE $actors2";
$sql_result = mysql_query($sql) or die(" ");
while ($row3 = mysql_fetch_array($sql_result)) {
echo $row3['link_imdb_actor'];
}
所以,电影特兰西瓦尼亚酒店有亚当·桑德勒、安迪·萨姆伯格和赛琳娜·戈麦斯。我的搜索显示了 Selena Gomez、Andy Samberg、Adam Sandler,因为这是我数据库中的订单。如何按演员数组的顺序对 sql 结果进行排序?谢谢!