Codeigniter를 사용하여 데이터베이스를 쿼리하고 데이터 배열을 반환합니다.
다음과 같은 데이터 배열이 있습니다.
Array
(
[0] => stdClass Object
(
[depot_id] => 1
[depot_name] => Stockton On Tees
[depot_description] => Arriva Stockton on Tees Depot
[depot_postcode] => TS18 3AW
[depot_lat] =>
[depot_long] =>
[operating_company_id] => 1
[date_created] => 2014-02-14 10:24:17
[date_edited] =>
[edited_by] =>
[status] => active
[operating_company_name] => Arriva North East
[operating_company_description] => Arriva North East
[operating_company_lat] =>
[operating_company_long] =>
[operating_company_postcode] =>
[operating_group_id] => 1
)
[1] => stdClass Object
(
[depot_id] => 2
[depot_name] => Darlington
[depot_description] => Arriva Darlington Depot
[depot_postcode] => DH1 1TW
[depot_lat] =>
[depot_long] =>
[operating_company_id] => 1
[date_created] => 2014-02-14 10:24:17
[date_edited] =>
[edited_by] =>
[status] => active
[operating_company_name] => Arriva North East
[operating_company_description] => Arriva North East
[operating_company_lat] =>
[operating_company_long] =>
[operating_company_postcode] =>
[operating_group_id] => 1
)
[2] => stdClass Object
(
[depot_id] => 3
[depot_name] => Ashington
[depot_description] => Arriva Ashington Depot
[depot_postcode] => NE63 9UN
[depot_lat] =>
[depot_long] =>
[operating_company_id] => 2
[date_created] => 2014-02-14 10:46:05
[date_edited] =>
[edited_by] =>
[status] => active
[operating_company_name] => Arriva Northumbria
[operating_company_description] => Arriva Northumbria
[operating_company_lat] =>
[operating_company_long] =>
[operating_company_postcode] =>
[operating_group_id] => 1
)
[3] => stdClass Object
(
[depot_id] => 4
[depot_name] => Blyth
[depot_description] => Arriva Blyth Depot
[depot_postcode] => NE24 2AP
[depot_lat] =>
[depot_long] =>
[operating_company_id] => 2
[date_created] => 2014-02-14 10:46:05
[date_edited] =>
[edited_by] =>
[status] => active
[operating_company_name] => Arriva Northumbria
[operating_company_description] => Arriva Northumbria
[operating_company_lat] =>
[operating_company_long] =>
[operating_company_postcode] =>
[operating_group_id] => 1
)
"Operating Company Name"을 기반으로 optgroup을 만들고 싶습니다. 따라서이 예에서는 그 아래에 2 개의 저장소가 있습니다.
제 생각에는 현재 드롭 다운을 만들기 위해 foreach 루프를 사용하고 있습니다.
<select name="depot_id" class="form-control">
<?php foreach($depots as $depot): ?>
<optgroup label="<?php echo $depot->operating_company_name; ?>">
<option value="<?php echo $depot->depot_id; ?>"><?php echo $depot->depot_name; ?></option>
</optgroup>
<?php endforeach; ?>
</select>
다음과 같이 드롭 다운이 생성됩니다 ....
가능한 경우 루프에서 모든 운영 그룹과 디포를 통합하려면 어떻게해야합니까?
필요한 경우 내 MySQL 쿼리를 제공 할 수 있습니다.
감사
먼저 아래와 같이 소스 배열을 다시 포맷 해보십시오.
$result = array();
foreach($depots as $depot){
$result[$depot->operating_company_name][] = $depot;
}
그런 다음 선택 시도를 만들기 위해
<select name="depot_id" class="form-control">
<?php foreach($result as $key=>$val): ?>
<optgroup label="<?php echo $key; ?>">
<?php foreach($val as $option): ?>
<option value="<?php echo $option->depot_id; ?>"><?php echo $option->depot_name; ?></option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다