をトラブル私は、各屋根測定のための以下のforeachループは
ループ(fastbid_inspection_measurement_roof
)にしようとしている行
その後のforeach行グラブroof_pitchを3回ネストされた後、
fastbid_labor_tearoff
に対してforeachループの問い合わせを行いますpitch
は$Pitch['roof_pitch']
と同一であり、その行の結果をfastbid_labor_tearoff
に取り込み、そのコストを計算する。それは完璧に動作しますONEレコードがある場合fastbid_inspection_meaasurement_roof
内の二つのレコードがある場合
は、しかし、それは二つの結果をエコーします。両方のレコードまたはすべてのレコードのSUM TOTALをエコーしたいと思います。
どこが間違っていますか?ここで
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;
}
}
}
それは正しいです、私は1つを裏づけ、それは動作します。今私はエラー "PHPの警告:不正な文字列オフセット 'roof_pitch'" – Kray