gpt4 book ai didi

php - 从数据数组创建一个 Optgroup

转载 作者:行者123 更新时间:2023-11-29 04:21:41 32 4
gpt4 key购买 nike

我正在使用 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
)

我想根据“运营公司名称”创建一个 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>

这会产生如下下拉菜单....

Dropdown Optgroup

我如何(如果可能)在循环中将每个操作组和仓库放在一起?

如果需要,可以提供我的 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>

关于php - 从数据数组创建一个 Optgroup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21876224/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com