現在、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対多の関係を持つように設定されています。私が自分自身を適切に説明したことを願っています。