【发布时间】:2017-05-03 11:46:59
【问题描述】:
我正在尝试以下操作
每个屋顶测量 (fastbid_inspection_measurement_roof) 行的循环
然后 Foreach 行抓取roof_pitch 然后对 foreach 循环查询
fastbid_labor_tearoff 其中pitch 与$Pitch['roof_pitch'] 相同
然后在fastbid_labor_tearoff 中获取该行匹配的结果并计算其成本。
马上
如果有一条记录,它可以完美运行,但是如果fastbid_inspection_meaasurement_roof 中有两条记录,那么它将回显两条结果。我希望它回显两条或所有记录的总和。
我哪里错了?
fastbid_inspection_measurement_roof 方案
-------------------------------
| id | roof deck | roof_pitch |
-------------------------------
| 01 | 1359 | 5 |
-------------------------------
| 02 | 1211 | 6 |
-------------------------------
fastbid_labor_tearoff 方案
---------------------------------------------
| id | labor_cost | ground_drop | pitch |
---------------------------------------------
| 01 | 22.50 | 7 | 5 |
---------------------------------------------
| 02 | 23.50 | 7 | 6 |
---------------------------------------------
这是我的 Foreach 循环
$RoofDecksssss = "SELECT * FROM fastbid_inspection_measurement_roof WHERE Prospect_API = '".$prosapi."'";
foreach ($pdo->query($RoofDecksssss) as $RoofDeck) {
foreach ($RoofPitch as $Pitch) {
$TearOff_Labor_PerPitch = "SELECT * FROM fastbid_labor_tearoff WHERE pitch = '".$Pitch['roof_pitch']."'";
foreach ($pdo->query($TearOff_Labor_PerPitch) as $TearOffCost) {
$LaborCost = $TearOffCost['labor_cost'];
$RoofDeckSQFT = $RoofDeck['roof_deck'];
$GroundDropCost = $TearOffCost['ground_drop'] * DeckSqFT_toRawSquare($RoofDeckSQFT);
$Total_Labor += $LaborCost * DeckSqFT_toRawSquare($RoofDeckSQFT);
$TotalLaborTearOffCost = $GroundDropCost + $Total_Labor;
echo $TotalLaborTearOffCost;
}
}
}
【问题讨论】: