HTML、PHP、js、および MySQL で Web サイトを開発しています。このウェブサイトでは、顧客は私が働いている会社が販売している製品をナビゲートすることができます. いくつかの異なる製品を扱っているため、結果をフィルタリングする機能を顧客に提供する必要があります (eBay の Web サイトを想像してください)。
Web サイトは順調ですが、私は Web サイト開発の経験があまりないため、フィルターの処理に苦労しています。問題は、ユーザーが使用するフィルターの数に応じて、異なる数の引数を渡す必要があることを考慮して、引数を php ページに渡す必要があります。
値をフィルター処理する例として、次の SQL ステートメントを検討してください。
SELECT p.code,
p.price,
p.description
FROM products p
INNER JOIN products_filtervalues pf1
ON pf1.productcode = p.code
AND pf1.idfilter=1
AND pf1.idfiltervalue=45
INNER JOIN products_filtervalues pf2
ON pf2.productcode = p.code
AND pf2.idfilter=2
AND pf2.idfiltervalue=6
INNER JOIN products_filtervalues pf3
ON pf3.productcode = p.code
AND pf3.idfilter=4
AND pf3.idfiltervalue=7
INNER JOIN filtervalues f
ON p.idcategory=1
AND p.idsubcategory=3
AND pf1.idfiltervalue=f.idfiltervalue
AND pf1.idfilter=f.idfilter
LIMIT 0, 15
正常に動作しますが、これを動的に機能させるには、選択したフィルター値の数によって内部結合の数が異なるため、複数の「内部結合」行を挿入できる必要があります。
これまでのところ、Web サイトは順調に機能しており、jquery を使用した PHP と HTML 間のすべての通信はうまく機能しています。したがって、問題はコミュニケーションや既存のエラーではなく、この状況を解決する方法を知る必要があるだけです。
もっと良い解決策があるかもしれませんが、今はわかりません。誰か助けてくれませんか?