1
によって類似したアイテムは、私は次のデータベース構造を持っている:MYSQL:(用語)関係データベース
画像:id | title | …
キーワード:id | keyword
keyword_relations:keyword_id | image_id
私は似て表示したいの任意の画像の詳細ページに画像が表示されます。これらは他の画像のキーワードによって取り出されるべきです。キーワードの数が多いほど関連性は高くなります。
これまでのところ、私はそれのためにkeyword_relationsだけ必要と見ることができます。
私はこのような何かをしようとしたが、それは動作しません:
$result = $mysqli->query("SELECT keyword_id FROM keyword_relations WHERE image_id=" . $image->id) or die($mysqli->error);
$in = array(); while ($k = $result->fetch_object()) array_push($in, $k->keyword_id);
$in = implode(',', $in);
$result = $mysqli->query("SELECT image_id FROM keyword_relations WHERE keyword_id IN($in) GROUP BY image_id ORDER BY FIELD($in) LIMIT 10") or die($mysqli->error);
私は順序が問題だと思います。
どのようにあなたがそれで注文したかったことにより、オーダー、可能でしょうか? – maSTAShuFu
最も共通のキーワードを持つ画像は最初の画像にする必要があります –