0

カテゴリ製品の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";
}

助言がありますか?

4

2 に答える 2