2010-03-26 7 views
5

나는 정신적 인 여백을 가지고 있으며 해결책을 찾지 못한다.배열에 데이터베이스 결과 추가

필자의 시나리오는 PHP와 MySQL로 프로그래밍하고 있습니다. 특정 orderid에 대한 결과를 반환하는 데이터베이스 테이블이 있습니다. 쿼리는 주문 당 최대 4 개의 행과 최소 1 개의 행을 반환 할 수 있습니다.

다음은 결과를 반환하는 방법을 보여주는 이미지입니다. alt text http://sandbox.mcmedia.com.au/nqlsolutions/images/packages.jpg

나는 "orders"라는 테이블에 저장된 모든 orderdetails (이름, 주소)를 가지고 있습니다. 해당 주문에 대한 모든 패키지를 "packages"테이블에 저장했습니다.

난 내가하려고이 같은 쿼리를 사용하고 있습니다 요법 데이터베이스 결과 각각의 특정 요소 (IE package1, itemstype1, 패키지 2, itemtype2)

에 액세스 할 수 있어야 루프를 사용해야 할 일은 그냥 "항목 수 :

내가 그들을 사용하여 PDF 템플릿을 작성 만들 필요가 있기 때문에 각각의 특정 요소에 액세스 할 수 있어야
$sql = "SELECT * FROM bookings_onetime_packages WHERE orderid = '".$orderid."' ORDER BY packageid DESC"; 
$total = $db->database_num_rows($db->database_query($sql)); 

$query = $db->database_query($sql); 

$noitems = ''; 
while($info = $db->database_fetch_assoc($query)){ 
$numberitems = $info['numberofitems']; 

for($i=0; $i<$total; $i++){ 

$noitems .= $numberitems[$i]; 

} 

} 
print $noitems; 

"잡아. FPDF를 "

을 나는이 희망 어떤 방향으로도 크게 감사 할 것입니다. .

답변

14

은 다음과 같이해야합니다 :

$data = array(); 
while($row = $db->database_fetch_assoc($query)) 
{ 
    $data[] = $row; 
} 

지금 $ 데이터는 각 요소가 쿼리 결과의 행입니다 배열입니다.

그런 다음 $ data [0], $ data [1] 및 행 내의 요소를 $ data [1] [ 'package'], $ data [0] [ 'itemtype' ], 각 행은 연관 배열이기 때문입니다.

count ($ data)를 사용하여 반환 된 행 수를 얻을 수 있습니다.

+0

답장을 보내 주신 David 께 감사드립니다. – Jason