2012-10-25 52 views
0

我有一個循環在PHP中使用如下這些:PHP:計數條目在一個循環,並在計算

$getDetails = mssql_query ("SELECT * FROM BasketItems 
WHERE BasketID = '".$_GET['id']."' "); 

while ($detailsrow = mssql_fetch_array($getDetails)) {  
    $TotalSetPrice = $detailsrow['FinalPrice'] * $detailsrow['Qty']; 
    echo $TotalSetPrice; 

    $numberofent = count($detailsrow['FinalPrice']); 
    echo "######NUMBER#####: $numberofent"; 

    $TotalPrice = ?????; 

    ######VARIOUS DATA############## 
} 

所以,好的,我不以任何方式在PHP的專家,那第一件事。 FinalPrice是某人選擇的數據庫中某個商品的價格。但客戶可以擁有任意數量的這些物品。

所以FinalPrice * Qty = TotalSetPrice

但是客戶也可以有多個不同的籃子內的物品。

所以我需要計算TotalSetPrice * (Number of sets of items Within the DB)

SO我一派,並用數()來了,但如果我只是count($detailsrow)返回56條目,這是數據的總體件數如果是有道理的。我只想計算實際數據集的數量。我試着計算finalprice,但是這只是返回1,這也是不正確的。

任何人都可以給我一些關於如何計算數組循環中的條目數量的指導。我希望這比我感覺它更有意義。

+0

請發佈有關表結構的更多信息。 – Mario

+0

更好的解決方案是在SQL查詢中執行計算。這樣可以避免將所有數據帶到下游,只是爲了做一個數據庫可以爲你做的計算。 – rdlowrey

+0

謝謝,我將研究mssql查詢和計算,關於表結構的哪些信息會有所幫助? – Bohdi

回答

1

SELECT FinalPrice,數量,(FinalPrice *數量)AS TotalSetPrice

只是用mysql,讓你不再與PHP,你將需要使用寫一個更長的代碼

+0

對桌子結構一無所知我會說這是正確的答案。 – Mario

0
$TotalPrice += $TotalSetPrice; 

這是短期的:$TotalPrice = $TotalPrice + $TotalSetPrice;

+0

這使我的大腦受到傷害,我如何在計算中使用$ TotalPrice來確定$ TotalPrice的值?當$ TotalPrice尚未定義時... – Bohdi

+0

Add $ TotalPrice = 0;在循環之前。可能會更有意義。 – AntonNiklasson

+0

但是,不會僅僅將$ TotalPrice設置爲與TotalSetPrice相同的值? – Bohdi