나는 여기에 정신적 공백이 있고 내 인생에서 해결책을 찾을 수 없습니다.
내 시나리오는 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
'MySql' 카테고리의 다른 글
MySQL MAMP Pro에서 Apache가 시작되지 않음 (0) | 2020.12.02 |
---|---|
MySQL ALTER TABLE이있는 저장 프로 시저 (0) | 2020.12.02 |
MySQL 행이 있는지 확인하십시오, Laravel (0) | 2020.12.02 |
MySQL 64 비트 시스템에서 ODBC를 통해 mysql에 연결 (0) | 2020.12.02 |
MySQL datetime 및 tinyint에 대한 데이터 유형 쿼리 (0) | 2020.12.02 |
댓글