次のようなテーブルがあります: product_id - code - name - img - ...
全商品を紹介するページを作りました。いずれかをクリックすると、その商品の詳細ページに移動します。">
詳細ページの最初の部分には、選択したコードを参照するすべてのデータがあり、これは正しく機能しています。
$var1_getProduct = "unavailable";
if (isset($_GET['code'])) {
$var1_getProduct = $_GET['code'];
}
...
$query_getProduct = sprintf("SELECT * FROM product WHERE product.code = %s", GetSQLValueString($var1_getProduct, "text"));
ページの下部に、同じ名前の他のすべての製品を表示したいと思います。同様のtrilを作成しましたが、誰も機能していないようで、これにどう対処すればよいかわかりません...
別のクエリを作成する必要がありますか? 試してみましたがうまくいきませんでした... $query_getProducts = "SELECT * FROM product WHERE product.code = getProducts['code']"
または、2 つの異なるテーブルの場合のように、テーブル自体に参加しようとする必要がありますか? これもうまくいきませんでした... $query_getProducts = "SELECT t2.name FROM product
t1 JOIN product
t2 ON (t2.name = t1.name) WHERE t1.name = '$name' AND t1.name != '0'" ;
問題は、必要な結果を達成する方法がわからないということです。つまり、到達する方法を意味します(コードも...ですが、それは別の問題になります!)
編集私が見つけた解決策については言及しませんでしたが、それは私が必要とするものにもっと近いものです:
SELECT product.name
FROM product
INNER JOIN (
SELECT product.name
FROM product
WHERE product.code = var1
) pname ON pname.name = product.name
これの問題は、アクティブなものを含め、その名前のすべての製品が表示されることです。そのため、「同じ名前の製品が存在する」というIFを置くこともできません。親DIVをエコー...