Я хотел бы, чтобы заполнить select
выпадающий список с optgroup
из базы данных в CodeIgniter для этого я написал следующее:отображать несколько записей с одинаковым именем группы в CodeIgniter
Таблица:
+---+-------------+--------------+
|id | group_name | location_name|
+---+-------------+--------------+
| 1 | top cities | Bangalore |
| | | |
| 2 | top cities | Chennai |
| | | |
| 3 | big cities | Mumbai |
| | | |
| 4 | small cities| mumbai |
| | | |
| 5 | small cities| mumbai |
+---+-------------+--------------+
Требования:
<select id="location" name="location">
<option value="" selected="selected">Select Location</option>
<optgroup label="top cities">
<option value="Bangalore">Bangalore</option>
<option value="Chennai">Chennai</option>
</optgroup>
<optgroup label="big cities">
<option value="Mumbai">Mumbai</option>
</optgroup>
<optgroup label="small cities">
<option value="Mumbai">Mumbai</option>
<option value="Mumbai">Mumbai</option>
</optgroup>
</select>
Модель:
function get_location() {
$this->db->select('group_name,GROUP_CONCAT(location_name) AS locations');
$this->db->order_by("group_name");
$this->db->from('location');
$query = $this->db->get();
if ($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}
return false;
}
Вид:
<select id="location" name="location">
<option value="" selected="selected">Select Location</option>
<?php
$CI = & get_instance();
$CI->load->model('Common', 'Common', TRUE);
$results = $CI->Common->get_location();
foreach ($results as $row) {
echo '<optgroup label="'.$row->group_name.'">';
$location = explode(',', $row->locations);
foreach ($location as $loc) {
echo '<option value="'.$loc.'">'.$loc.'</option>';
}
echo "</optgroup>";
}
?>
</select>
Но результат отличается, то я обязательно ...
Выход:
<select id="location" name="location">
<option value="" selected="selected">Select Location</option>
<optgroup label="top cities">
<option value="Bangalore">Bangalore</option>
<option value="Chennai">Chennai</option>
<option value="Mumbai">Mumbai</option>
<option value="Mumbai">Mumbai</option>
<option value="Mumbai">Mumbai</option>
</optgroup>
</select>
Пожалуйста, помогите кто-нибудь ... спасибо заранее
Вы можете показать, что в настоящее время выход? –
Я ОБНОВЛЯЛ ВОПРОС С ВЫХОДОМ –