我很困惑什么时候会显示产品比较表。我有 2 个表 t_product_item
和 t_product_specification
。这是表结构的图片:
我想显示像这张图片这样的产品比较:
脚本:
<table border="1">
<tr style="background-color: #C3C3C3">
<td>Product</td>
<td>Spec Name</td>
<td>Spec Value</td>
</tr>
<?php
$sql = mysqli_query($conn, "SELECT item, spec_name, spec_value FROM t_product_item JOIN t_product_specification USING (item_id)");
if (mysqli_num_rows($sql)>0){
while ($row=mysqli_fetch_array($sql)){
?>
<tr>
<td><?php echo $row['item']?>
<td><?php echo $row['spec_name']?>
<td><?php echo $row['spec_value']?>
</tr>
<?php
}}
?>
</table>
它看起来像这样
结果:
我如何在逻辑上构造或查询表格以像示例图片那样显示?
最佳答案
将您的 SQL 查询
更改为:
SELECT spec_name,MAX(CASE WHEN ItemId=1 THEN spec_value END)`Samsung Galaxy S8+`
,MAX(CASE WHEN ItemId=2 THEN spec_value END)`Samsung Galaxy S8`
FROM t_product_item JOIN t_product_specification USING (item_id)
GROUP BY spec_name
ORDER BY MIN(spec_Id)
希望对你有帮助。
关于javascript - MySQL : Create table comparison product,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47522874/