製品エリアを作成しています。すべての製品にいくつかのキーワード IDが含まれています。実装しようとしているのは、製品が選択された場合に、関連する他のほとんどの製品をページの下に表示したいということです。例のデータとしては、
商品ID | 商品名 | キーワード
23 | product1 | 2,4,13
31 | product3 | 2,4,8
10 | product6 | 2,4
11 | product4 | 2,3
34 | product2 | 2,4
54 | product5 | 2,7
12 | product8 | 4,8
キーワード2と4を含む製品の関連製品を表示する必要があるとしましょう。 現在、関連製品を取得するために以下を使用しています
$sql="SELECT * FROM table1 WHERE keywords REGEXP '(^|,)2(,|$)' OR keywords REGEXP '(^|,)4(,|$)' ORDER BY product_id"
ただし、ほとんどが関連する製品が返されない場合があります。
上記の例のデータに関しては、product_id 23,31,10,34は他のレコードよりも優先されるべきです。
それは可能ですか?では、これを克服するにはどうすればよいでしょうか。すべての返信に感謝します。