2013-07-06 4 views
0

당 나는 간단한 데이터베이스를 쿼리 그리고 난 다음 PHP 코드를 사용하고 나면 배열에 데이터를 추가 ...연합회 가져 오기 - ID

현재의 데이터 구조는 다음과 같습니다
while ($row = $results->fetch_assoc()) { 

    if($row["status"] == 1) { 
     $total[] = $row["to_win"]; 
    } 

    print_r($total); 

} 

...

id   to_win   status 
1   1200.00   1 
2   238.94   2 
3   1850.57   1 
4   55.00   2 
5   127.85   2 

문제는 그것이 다른 행을 가져올 때마다 $ total을 배열에 추가하는 것입니다. 그 결과, 내 print_r의 배열이 여러 항목이 아닌 하나 1200.00 한 1850.57를 포함 할 수 있도록이 ...

Array ([0] => 1200.00) Array ([0] => 1200.00) Array ([0] => 1200.00) Array ([0] => 1200.00 [1] => 1850.57) Array ([0] => 1200.00 [1] => 1850.57) Array ([0] => 1200.00 [1] => 1850.57) Array ([0] => 1200.00 [1] => 1850.57) Array ([0] => 1200.00 [1] => 1850.57) 

내가 그냥 ID 당 그것을 한 번에 추가 할 수 있었 을까입니까?

감사합니다.

+1

마지막 'print_r' 출력에 배열에 원하는 두 항목이 있어야합니다. 그게 뭐가 잘못 됐니? – mario

답변

1

예상대로입니다.)

while ($row = $results->fetch_assoc()) { 
    if($row["status"] == 1) { 
     $total[] = $row["to_win"]; 
    } 
} 

print_r($total); 

하지만이 쉬웠다 그러나, 나는 당신에게 다른 조언을 줄 것을;하지만 난 당신이 루프의 print_r() 외부에 배치 할 것 같아요. SQL C 럼 유형이 INTEGER 일 수도 있지만 데이터베이스 조회에서 나오는 결과는 문자열입니다. 에서이 짧은 예제에서는 올바른 형식을 확인하는 것이 좋을 수도 있지만 좋을 것입니다. 따라서 문장은 다음과 같아야합니다 :

if($row["status"] === '1') 
+0

이상인 경우 'where status = 1'을 쿼리에 추가하십시오. – Orangepill

+0

@Orangepill sure :) – hek2mgl