小编典典

SQL结果作为PHP数组

sql

如何获得将多行包含到数组中的SQL结果:

示例SQL表:

ID      Cat        LineID      Qty    DealID    Cost
1       Phone      1           2      8941      25.00
2       Phone      2           43     8941      85.00
3       Net        1           2      8941       1.00
4       App        1           1      8941      87.00
5       Phone      1           20     8942      98.00

希望能够返回如下结果:

$product[Phone][LineID][Qty]
$product[Phone][1][Qty] -- this would return 2

顺便说一句:在Cat中,LineID永远不会重复,但可能永远不会是相同的LineID-例如,在DealID
8941下,Cat>电话1,2,3,4可能有LineID,但在不同DealID下,可能仅是猫>电话4,5

不知道我是不是在搞错一棵完整的错误树,基本上我需要遍历DealID下的所有结果,然后交叉引用LineID以从另一个包含名称,图像等的表中获取有关该LineID的所有信息。
..然后按照以下方式放入html表:

Product Name     Qty     Cost     Line Total
Phone 1           1      85.00    85.00

我希望我已经说清楚了,如果不是太苛刻的话!!

谢谢,B。


阅读 173

收藏
2021-04-22

共1个答案

小编典典

这是答案:

$sql="SELECT * FROM Blar";
$result = mysql_query($sql);
$combinedResults = array();
while ($row = mysql_fetch_array($result)) {
    $combinedResults[$row['cat']][] = array( 
    'LineID' => $row['lineID'],
    'Qty' => $row['qty'],
    'SetCost' => $row['Setcost'],
    'MonCost' => $row['Moncost'],
    'Postcode' => $row['postcode']
    );
};
//print_r($combinedResults);
print_r($combinedResults['Apps'][0]['Qty']);

感谢您的帮助@Dereleases

2021-04-22