-1

現在、4 つの異なる SQL テーブルを使用して電子商取引を構築しています。

データベースにクエリを実行して目的の結果を返すことができましたが、それらを自分の Web ページに表示して表示できるようにする方法に行き詰まっています。

データベースのクエリに使用するコードは次のとおりです。

私のテーブルは次のとおりです。

CREATE TABLE Products
(
    Id int,
    product_name varchar(255),
    price varchar(255),
    details varchar(255),
    category varchar(255),
    subcategory varchar(255),
    PRIMARY KEY (Id)
)

CREATE TABLE sizes
(
    sizeid int,
    id varchar(255),
    size varchar(255),
    price varchar(50),
    PRIMARY KEY (sizeid)
    FOREIGN KEY (Id) REFERENCES Products(Id)
)

Web ページに表示するために、次のコードを実行します。

 $dynamicPrice="";
   $sql=mysql_query("SELECT products.product_name, products.id, sizes.productprice, sizes.size 
FROM products 
INNER JOIN sizes ON products.id=sizes.id 
WHERE products.id = sizes.id AND products.id = '$id'");//select product from sql database



 $productCount=mysql_num_rows($sql);//count number of rows in sql variable
   $i = 0;
   if($productCount>0){

   $dynamicPrice .= '<table border="0" width="50%" cellpadding="1">';
while($row=mysql_fetch_array($sql))
    {

        $product_name=$row["product_name"];
        $id=$row["id"];
        $price=$row["productprice"];
        $size=$row["size"];

        if($i % 6 == 0)
            {
        $dynamicPrice .='<tr>
        <td><p>'.$product_name.'</p></td>
        <td><p>£'.$price.'</p></td>
        <td><p>£'.$size.'</p></td>
        <p><a href="product.php?id='.$id.'">Details</a></p>  </td>';  
    }

    $i ++;
}
$dynamicPrice .='</tr></table>';
}
    else
    {
    $dynamicPrice="We have no products listed in our store yet";
    }

これにより、アイテムの価格とサイズの1つが表示されますが、各アイテムには複数のサイズと価格があり、すべて表示したいと思います。基本的に、1対多の関係を持つように設定されています。私が自分自身を適切に説明したことを願っています。

4

2 に答える 2