输出sql并同时排序成组

时间:2015-03-02 07:22:25

标签: php mysql

我遇到了一些麻烦,我正在尝试做什么我拉了一组数据库,然后将它们放到表格中。但如果数据库中有两个条目而不是为该客户创建第二个表,我正试图将数据放到第一个表中。

SELECT
    scs_customer.customer_name AS customer,
    scs_item.item_name AS item,
    scs_order.item_ammount AS quantity,
    scs_order.order_status AS status,
    scs_order.placed_by AS owner,
    scs_order.date_placed

FROM
    scs_order

JOIN
    scs_item
    ON scs_order.item_id = scs_item.item_id

JOIN
    scs_customer
    ON scs_order.customer_id = scs_customer.customer_id

ORDER BY
    scs_customer.customer_name ASC

我能给你的只是数据库查询,因为我只能做一个基本的foreach循环。 但是当我在创建多个表时执行foreach循环时,我希望他们将一个表中的所有一个客户延期服务器和另一个客户端服务器放在一个单独的表中。

1 个答案:

答案 0 :(得分:0)

您可以在循环外输出表格,每次到达新客户时,关闭一个表格并打开一个新表格。

echo '<table>';

$lastCustomer = null;

foreach ($orders as $order) {

    // Every time you get to a new customer, start a new table
    if ($lastCustomer != $order['customer']) {
        echo '</table><table>'
    }

    echo '<tr>';
    echo '<td>'.$order['customer'].'</td>';
    echo '<td>'.$order['item'].'</td>';
    echo '</tr>';

    // Update the "last customer" so next loop around we can compare
    $lastCustomer = $order['customer'];

}

echo '</table>';