我想我不明白'sort'是如何工作的,所以請不要評價我。我真的一整天都在搜索。mysql結果按數組排序
我有一個電影表與演員列。一個名爲「actors」的列。演員是由空間「」分隔的鏈接。鏈接的順序非常重要。
我爆炸的鏈接到一個數組,它看起來像[0] - > link0,[1] - >鏈接1,...
我的演員表,其中每個演員也都有它的電影鏈接。我不想做20個不同的SQL搜索,所以我做了一個變量與我想要的所有鏈接,像這樣(其中actor_link
= link1 OR actor_link
= link2 OR ..)
問題是這樣的。搜索可能會首先找到鏈接7,所以我的排序不見了。我能做些什麼來保持電影表中的順序。我想通過影片中的流行度顯示演員,而不是我的數據庫的順序。
你可以給我另一種方法來搜索演員而不進行'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,因爲這是我數據庫中的訂單。我如何根據actors數組的順序對sql結果進行排序?謝謝!
你將不得不給我們一些代碼來看看,這很混亂 – Nathan
你的數據庫設置是錯誤的。如果你想查詢某些東西,你不應該在列中放置多個項目。 – Arjan
Arjan,如果你有300.000個電影標題和500.000個演員,你想象1000個用戶查詢數據庫時你的服務器將如何工作? – acerluc