私は「並べ替え」がどのように機能するかを理解していないと思うので、私を判断しないでください。本当に一日中探しました。
私は俳優の列を持つ映画テーブルを持っています。「俳優」という名前のコラム。アクターは、スペース " " で区切られたリンクです。リンクの順序は非常に重要です。
[0]-> link0、[1]-> link1、...のような配列にリンクを展開します。
すべての俳優にも映画のリンクがある俳優テーブルがあります。20 の異なる SQL 検索を行いたくないので、このように必要なすべてのリンクを含む変数を作成しました ( WHERE actor_link
= actor_link
link1 OR = 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'];
}
映画『ホテル・トランシルヴァニア』には、アダム・サンドラー、アンディ・サムバーグ、セレーナ・ゴメスが出演しています。私の検索では、セレーナ ゴメス、アンディ サムバーグ、アダム サンドラーが表示されます。これは私のデータベースからの注文だからです。アクター配列の順序でSQL結果をソートするにはどうすればよいですか? ありがとうございました!