php - 在 PHP 中按列值显示 MySQL 结果

标签 php mysql foreach while-loop

我有一个 MySQL 查询,它将几个表连接在一起以收集数据以供显示。我的目标是通过名为“project_id”的列显示数据。示例:

[project_id][project_name][order_date][ordered_by]
[31][project_a][2013-04-15][1]
[31][project_a][2013-04-16][1]
[31][project_a][2013-04-21][1]
[41][project_c][2013-02-21][1]
[41][project_c][2013-02-27][1]

所以我的问题是,我不确定如何循环遍历数据数组以显示project_id一次,然后显示下面的数据,因为我将使用jQuery按project_id切换/显示组数据

这是我的 mysql 查询:

SELECT p.user_customer_id,
       p.name AS 'project_name',
       p.project_id,
       o.order_id,
       o.order_date,
       o.order_tech,
       pro.name,
       pro.purchase_price,
       pro.sell_price
FROM project AS p
JOIN `order` AS o ON p.project_id = o.project_id
JOIN products_in_orders AS pir ON o.order_id = pir.order_id
JOIN product AS pro ON pir.product_id = pro.product_id
WHERE p.user_customer_id = 51
ORDER BY p.project_id ASC

最佳答案

类似这样的吗?:

<?php

/** @var $mysqli mysqli */
$result = $mysqli->query($yourOrderedQuery);

while ($row = $result->fetch_object())
{
    // first row with this project_name
    if ($project_name != $row->project_name)
    {
        $project_name = $row->project_name; // remember we have seen this project (now)
        // display $row->project_id, etc.
    }
    // second or later row of with this project_name
    else
    {
        // display data of project from $row->order_date, etc.
    }
}

关于php - 在 PHP 中按列值显示 MySQL 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18539344/

相关文章:

php - 有没有办法追踪类自动加载触发的位置?

mysql - 如何比较 MySql 中的两个时间戳?

PHP 注册系统无法工作(phpmyadmin、wampserver)

php - 在一次查询中按计数和运算符获取结果

Java foreach - 通过 ArrayList 进行搜索

vbscript - 如何退出函数中的每个循环?

javascript - 下拉选择菜单以返回没有提交按钮的php变量

php - 以折线图显示数据库的一些数据

php - 是否可以对整个 SQL 语句进行 utf8_decode 以避免 utf-8/utf8mb4 问题?

php symfony2安装缓存权限