カテゴリと製品の2つの異なるテーブルがあります。各テーブルにはcategory_id
列があります。のときに配列を出力するためにSELECT-ing
、 を使用してecho htmlentities
います。
category_id=categories
商品カテゴリID で商品名や価格などのフィールドを選択するための SQL 構文は何ですか? (行ヘッダーは同じです->名前(製品上)と名前(猫上)。
最初に製品テーブルからの基準に基づいて製品を選択し、その後category_id
、猫からの製品を選択したいことに注意してください。テーブルが製品テーブルのcategory_idに等しい場合、カテゴリ名が表示されます(カテゴリテーブルにあるもの)
元のコードは次のとおりです。
<?php
include('includes/global.php');
$sql = $db->query("SELECT name FROM ".DB_PREFIX."products WHERE active=1 AND closed=0 AND deleted=0 AND approved = 1 AND name LIKE '%".htmlentities($_GET["search"], ENT_QUOTES)."%' LIMIT 20");
while($product_array = $db->fetch_array($sql)) {
echo htmlentities($product_array["name"], ENT_QUOTES, $lang[codepage])."\n";
}
これは私が試したものです:
$sql = $db->query("SELECT a.name,a.buy_price,c.name FROM ".DB_PREFIX."products a WHERE active=1 AND closed=0 AND deleted=0 AND approved = 1 AND name LIKE '% ".htmlentities($_GET["search"], ENT_QUOTES)."%' INNER JOIN ".DB_PREFIX."categories c ON a.category_id = c.category_id LIMIT 20");
while($product_array = $db->fetch_array($sql)) {
echo htmlentities($product_array["name"], ENT_QUOTES, $lang[codepage])." for ";
echo htmlentities($product_array["buy_price"], ENT_QUOTES, $lang[codepage])." from category ";
echo htmlentities($product_array[" * categoryname"], ENT_QUOTES, $lang[codepage])."\n";
}
助言がありますか?