javascript - MySQL : Create table comparison product

标签 javascript php mysql sql

我很困惑什么时候会显示产品比较表。我有 2 个表 t_product_itemt_product_specification。这是表结构的图片: pic 1

我想显示像这张图片这样的产品比较:

pic 2

脚本:

<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>

它看起来像这样

结果: pic 3

我如何在逻辑上构造或查询表格以像示例图片那样显示?

最佳答案

将您的 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/

相关文章:

跳过 if 直接进入 else 语句的 PHP 代码

php - 更新 mysql 数据库中的记录时,bind_param() 出错

php - 如何在 Multi-Tenancy SaaS 产品中容纳每个用户的业务逻辑?

Javascript 获取 api : Can't retrieve some response header

javascript删除对象数组的多个值

php - 在 .htx 文件中使用 require 创建 connect.php

javascript - CORS OPTIONS 请求成功,但在 Safari 中挂起

php - 相当于php或mysql中的java "Color.decode"

javascript - 在 Javascript 中删除字符串的前导零

javascript - 单选按钮显示和隐藏 div 的下一个/上一个按钮