维度数组-将3个表转换为HTML



我试图显示来自3个不同mysql表、客户端和订单的内容。产品具有html结构:

                 Product 1        Product 2      Product 3 .....
client 1       quantityOrder     quantityOrder        -
client 2            -            quantityOrder    quantityOrder
client 3        quantityOrder        -                 -

我使用的是多维数组,但不知怎么的,它不起作用。

试着按照这篇帖子的指示操作,但也没有成功:PHP二维数组转换成HTML

知道吗?

谢谢Alex

根本不要使用数组。你有一个二维数组,你可以直接建立一个表:

SELECT client.id, client.name, product.name as productname, SUM(order.quantity) AS qty
    FROM client CROSS JOIN product
         LEFT JOIN order ON ( order.product_id = product.id AND order.client_id = client.id)
    GROUP BY client.id, product.id ORDER BY client.name, product.code;

这将为每个客户端和产品输出一个单元格,如果(客户端、产品)和订单之间没有JOIN,则可能为NULL。

然后,您可以在PHP中迭代该表(当然,您可以将其保存在多维数组中,使用客户端和产品ID作为键):

print "<table>";
$customer_id = -1;
while($tuple = SQLFetchTuple($exec))
{
    if ($tuple['id'] != $customer_id)
    {
        if (-1 != $customer_id)
            print "</tr>"; // Close previous row
        print "<tr><td>{$tuple['name']</td>"; // Output row header
        $customer_id = $tuple['id'];
    }
    if ($tuple['qty'])
        print "<td>{$tuple['qty']</td>";
    else
        print "<td>-</td>";
}
print "</table>";

相关内容

  • 没有找到相关文章

最新更新