2013-12-14 2 views
1

정보 상태 및 합계 배열이 있습니다. 나는 각 주에 대한 합계의 합계를 구하는 방법을 알고 싶다.PHP 비교 중에 배열 값의 합계를 가져 오는 중

루프를 사용해야한다는 것을 알고 있지만 확실하지 않습니다. 어떻게해야합니까?

이것은 내가 지금까지 가지고있는 것입니다. 그것은 데이터베이스에서 배열을 만들고 있습니다.

$WorkFind = mysql_query(
    "SELECT Customers.State, WorkOrders.Total 
    FROM WorkOrders 
    INNER JOIN Customers 
    ON WorkOrders.CID=Customers.ID 
    WHERE WorkOrders.Type <> 'Warranty' 
    AND (WorkOrders.Status <> 'Closed' 
    OR WorkOrders.Status <> 'Cancelled') 
    AND WorkOrders.TransferID='0' 
    ORDER BY Customers.State ASC"); 

while ($Work = mysql_fetch_array($WorkFind)) { 
} 

while 루프는 배열을 만들었지 만 무엇을 넣을 지 확신 할 수 없습니다.

나는 PHP 5.3을 사용하고 있는데 MYSQL 5.2

+2

코드 예제는 최대한 빨리 –

+0

은 우리에게 배열의 일부와 당신이 원하는 솔루션을 지정하십시오. –

+1

배열은 어떻게 생겼습니까? ['foreach'] (http://www.php.net/foreach)의 문제점은 무엇입니까? – kero

답변

1

이 시도 :

$WorkFind = mysql_query("SELECT Customers.State AS State, WorkOrders.Total AS Total -- ..."); 

$total = array(); 

while ($Work = mysql_fetch_array($WorkFind)) { 
    $state = $Work['State']; 

    if (!isset($total[$state])) { 
    $total[$state] = 0; 
    } 

    $total[$state] += $Work['Total']; 
} 

// format as simple table 

echo '<table><tr><th>State</th><th>Total</th></tr>'; 

foreach ($total as $state_name => $state_total) { 
    echo '<tr><td>' . $state_name . '</td><td>' . $state_total . '</td></tr>'; 
} 

echo '</table>'; 
+0

그게 내게 총 작업량의 합계 만 준다. 각 주마다 합계가 필요합니다. – JukEboX

+0

죄송합니다, 그 시점을 놓쳤습니다. 배열을 사용할 수 있습니다. 위 코드에 추가했습니다. –

+0

한 번 더 질문드립니다. 이런 식으로 나오면 어떻게 포맷합니까? 어레이 [CT] => 35774.56 [DE] => 1779 [FL] => 9519.87 [MA] => 11875.82 [MD] => 87722.98 [NJ] => 212389.21 [NY] => 194354.32 [PA] = > 31449.43 [RI] => 2872.56 [VA] => 61398.72) – JukEboX

관련 문제