このあたりがよく分からないので、どなたかアドバイスお願いします。
個別のテーブルを使用していくつかのキーワードを割り当てた製品が多数あります。これらのキーワードを反復処理して、同じキーワードを含む他の製品のリストを作成したいと思います...したがって、以下の例では、ID が 149 の製品に 2 つのキーワードが割り当てられていますが、SQL は1つのキーワードで製品に取り組みます。
そのため、両方のキーワードを使用して製品のリストを作成する方法については、よく理解できません。どんな助けでも素晴らしいでしょう。
SQL:-
$products_id = $_GET['products_id'];
$slideQuery = mysql_query("
select p.products_id, p.products_image, p.products_price,
pd.products_name, k2p.key_key_id
from products p
join products_description pd on
pd.products_id = p.products_id
join products_keyword_to_product k2p on
k2p.products_id = p.products_id
where k2p.key_key_id = (
select key_key_id
from
products_keyword_to_product
where
products_id=" . $products_id ."
)
group by p.products_id
order by p.products_price desc
limit 12
編集して追加: 以前に php while ループを使用してこのループ内でデータベースにクエリを実行することでこれを達成しましたが、これを行うためのより良い方法が必要であると確信しています。
更新: この質問から受け取った提案を調べましたが、クエリを完全に機能させることができませんでした。この時点で、私の「給与等級」を少し超えているので、関連する ID を URL 文字列に渡し、ページを再ロードするリンクを作成することにしました。サイトが成長するにつれて、とにかくより良いオプションであることが判明するでしょう。 . ここで学んだ教訓は、達成しようとしていることから一歩下がって、現在の方法がそれを達成するための最善の方法であることを確認することだと思います.