私はいくつかのidを持つ単純なPHP文字列を持っています。文字列 "1,5,3,7"を基にしたSQLクエリ - >結果の順序を保つ
$string = "10, 5, 10, 3";
文字列に保存されているIDの順序を失うことなく、これらのIDに基づいていくつかのSQLをフェッチしたいと考えています。私がしようと試み:
SELECT * FROM media WHERE ID IN ($string);
が、結果は現在注文されており、二重のidのは、私はこの
row0 : id=>10,
row1 : id=>5,
row2 : id=>10,
row3 : id=>3
のような行を取得するためにMYSQLを使用することができますどのように
output array: 3, 5, 10
を行っているがありますすべてのIDのクエリを実行せずにこれを行う方法?
ここで私のテーブル構造はメディアと呼ばれています。アップロードされた画像+説明+メタデータを保存するためのものです。
id, int
file, varchar
description_de, varchar
description_en, varchar
size, varchar
width, int
height, int
テーブルがあり、プロジェクトのイメージIDだけが格納されているテーブル "projects"があります。その構造は複雑である。誰もここで知る必要はありません。私はこのようなメディアIDを格納するフィールド "メディア"をtheres: "1,5,33,9,10,1" 2つのものを格納する。最初に画像の注文が表示されます。画像ID自体をSECONDにします。
メディアからすべてのフィールドを基本的に取得するためには、右のORDERでイメージを取得する必要があります。
テーブルからの実際のレコードと予想されるレコードをIDの検索順に転記できますか? –
ですので、id(int)、file(varchar)、description(varchar)のテーブル "media"があります。記述を伴う画像を格納するためのテーブル...いくつかのIDを持つ$文字列は、テーブル "プロジェクト"の一部であり、ここではwanaは指定された順序でこれらの画像を保存します。だから、私は、クエリは、ID、ファイル、および説明を含む行の配列の結果を期待しています。私はちょうどイメージリストの順序を維持する必要があります...そして二重のイメージがある場合 - 私はこれらを減らすwanaをしません... – scco
私は私のポストにいくつかのより多くの情報を加えました...それが役立つことを願って – scco