php - 仅打印一个订单号以及与该号码相关的商品

标签 php mysql distinct

我有一个 mysql 表,保存我的购物车数组中的商品,例如item_id、尺寸、数量,每行都有一个订单号,所以如果我有 3 个商品,这三行的订单 id 为 2。还有另一个名为orders 的表,它保存这些商品的订单号和名称、地址等。我希望能够打印出每个订单号以及与该订单号匹配的商品,但是它会重复订单号并打印三次,无论如何我可以只有订单号:1 然后是 3下面的项目?

此查询确实打印出正确的信息,但显示 orderid 3 次

$sql = mysql_query("SELECT transactions.*, orders.orderid, orders.date  
FROM transactions
LEFT JOIN orders
ON transactions.orderid=orders.orderid
WHERE orders.userid = '$userID'");

最佳答案

mysql_query 从技术上讲根本不显示任何内容。它只是从数据库中查询您的数据,并使其可以在本地访问以执行您想要的操作。 因此,您实际上必须更改内容的点是您的显示代码。它可能如下所示,可以按您的预期工作。

first = true;
while ($row = mysql_fetch_assoc($sql)){
    if (first){
        // put everything that shall only be written once here.
        echo $row["orderid"];
        first = false;
    }
    // put everything that shall be written for every row here.
    echo $row["date"];
}

关于php - 仅打印一个订单号以及与该号码相关的商品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9350000/

相关文章:

php - 如何在Zend框架2中开发不同布局的前端和后端?

php - 按计数(名称)排序并打印

用于创建或更新表中行的 MySQL 过程

mysql - 缓存中的数据多久会老化并被驱逐出 MySQL - 查询运行缓慢然后快速

php - 从db2中选择并插入mysql中不存在的地方

如果其他文件存在,PHP 删除文件

sql - 根据 Django 数据库中的某个字段获取不同的行

Mysqli 从给定值在任何列中的行中获取多个不同的值

php - Zend Framework mysql查询返回服务器500错误

mysql - SQL 分组依据、拥有和排序 (MySQL)