본문 바로가기
MySql

MySQL 어레이에 데이터베이스 결과 추가

by 베이스 공부 2020. 12. 2.
반응형

나는 여기에 정신적 공백이 있고 내 인생에서 해결책을 찾을 수 없습니다.

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

다음은 결과를 반환하는 방법에 대한 이미지입니다.


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

내가해야 할 일은 데이터베이스 결과의 각 특정 요소 (IE 패키지 1, 항목 유형 1, 패키지, 항목 유형 2)에 액세스해야하는 루프를 사용하는 것입니다.

다음과 같은 쿼리를 사용하여 "항목 수 :

$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"를 사용하여 pdf 템플릿을 작성해야하기 때문에 각 특정 요소에 액세스 할 수 있어야합니다.

이해가 되길 바랍니다. 어떤 방향으로도 대단히 감사하겠습니다.

 

해결 방법

 

다음과 같이해야합니다.

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

이제 $ data는 각 요소가 쿼리 결과의 행인 배열입니다.

그러면 행에 $ data [0], $ data [1]로 액세스 할 수 있으며 행 내의 요소는 $ data [1] [ 'package'], $ data [0] [ 'itemtype']으로 액세스 할 수 있습니다. 행은 연관 배열입니다.

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

 

참조 페이지 https://stackoverflow.com/questions/2520720

 

 

반응형

댓글