我正在尝试为不同供应商的某些产品输出价格。产品在行中,供应商在列中。这似乎是一件容易的事情,但我无法弄清楚我是如何用PHP做的。
产品存储在产品表中,供应商位于供应商表中,价格位于定价表中。有一些公共ID字段可以将它们全部链接起来。定价表中的样本记录可能是:
product_id = 5, category_id = 2, vendor_id = 8, product_price = $5.50
在我的表中,供应商在列中的顺序始终相同。但是,我如何构建查询和PHP,以便我可以获得该输出?我知道这是一个基本问题,但我对此比较陌生,需要一些帮助。如果你能帮我输出如下表格,请提前致谢。
编辑:我的表格结构如下:
CATEGORY_ID
CATEGORY_NAME
category_order(用于排序)
VENDOR_ID
VENDOR_NAME
MODEL_ID
模型名称
model_link(链接到网站了解更多信息)
MODEL_ID
VENDOR_ID
CATEGORY_ID
价
<h2>Pet Foods</h2>
<table>
<tr>
<td>Product</td>
<td>Vendor 1</td>
<td>Vendor 2</td>
<td>Vendor 3</td>
</tr>
<tr>
<td>Cat Food</td>
<td>$5</td>
<td>$6</td>
<td>$5.50</td>
</tr>
</table>
答案 0 :(得分:0)
$sql="SELECT product_id, product_price FROM pricing ORDER BY product_id, vendor_id";
$res=mysql_query($sql,$link);
if(mysql_num_rows($res)>0){
$pId='';
echo "<table><tr><td>Product</td><td>Vendor 1</td><td>Vendor 2</td><td>Vendor 3</td></tr>";
while($row=mysql_fetch_array($res)){
if($pId!=$row[0]){
if($pId!=''){
echo "</tr>";
}
$pId=$row[0];
echo "<tr><td>$pId</td>";
}else{
$price=$row[1];
echo "<td>$price</td>";
}
}
echo "</tr></table>";
}
我假设您有相同的供应商,并且没有供应商数据丢失,但我仍会检查是否我没有错过任何供应商价格数据。你可以轻松地做到这一点。 祝你好运!