Как получить данные из базы данных и отобразить их в выпадающем списке с помощью Codeigniter

Я собираю данные из таблицы базы данных и отображаю их в раскрывающемся списке, вот что я сделал до сих пор

ЭТО МОЙ КОНТРОЛЛЕР:

public function assign_hostel() {
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostel'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel');
$this->admin_footer();
}

ЭТО МОЯ МОДЕЛЬ:

public function get_hostel() { //get all hostel
$this->db->order_by('hostel_name', 'asc');
return $this->db->get_where('school_hostel',  array('hostel_name' =>
$hostel_name)->result();
}

МОЙ ВЗГЛЯД:

<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
$hostel_name = get_hostel();
foreach ($hostel_name as $hostel ) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>
</div>

Почему я получаю пустой выпадающий список?

2

Решение

Надеюсь, что это поможет вам :

Проходить $data['hostels'] по вашему мнению, как указано ниже:

Сначала ваш контроллер assign_hostel должно быть так:

public function assign_hostel()
{
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostels'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel' ,$data);
$this->admin_footer();
}

Второй твой view должно быть так:

<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php if ( !empty($hostels)) {
foreach ($hostels as $hostel ) { ?>
<option value="<?=$hostel->hostel_name; ?>"><?=$hostel->hostel_name;?></option>
<?php } }?>
</select>
</div>

Для большего : https://www.codeigniter.com/user_guide/general/index.html

0

Другие решения

Вы не можете получить $hostel от просмотра непосредственно к модели, вы должны получить от контроллера и передать его через $data смотреть

CONTROLLER:
public function assign_hostel() {
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostels'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel', $data);
$this->admin_footer();
}

MODEL:
public function get_hostel() { //get all hostel
$this->db->order_by('hostel_name', 'asc');
return $this->db->get_where('school_hostel',  array('hostel_name' =>
$hostel_name)->result();
}

VIEW:
<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
foreach ($hostels as $hostel) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>
</div>
0

Передайте $ data для просмотра функции в контроллере
ДИСПЕТЧЕР:

public function assign_hostel() {
$inner_page_title = 'Assign Hostel';
$this->admin_header('Assign Hostel', $inner_page_title);
$data['hostel'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel', $data);
$this->admin_footer();
}

И ввиду получай хостел

ПОСМОТРЕТЬ:

<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
foreach ($hostel as $hostel ) { ?>
<option value="<?php echo $hostel; ?>"><?php echo $hostel; ?></option>
<?php } ?>
</select>

0

Есть несколько изменений, которые нужно сделать:

Изменить 1:

Пройти $data переменная при загрузке представления:

$data['hostel'] = $this->hostel_model->get_hostel();
$this->load->view('admin/hostel/assign_hostel', $data); // $data as 2nd argument

Изменить 2:

Ключ доступа $data массив как переменная в файле вида, например:

<div class="form-group">
<label class="form-control-label">Select Hostel</label>
<select class="form-control" name="state_of_origin" required>
<option value="">-Select-</option>
<?php
//$hostel_name = get_hostel(); NO NEED THIS LINE
foreach ($hostel as $h ) { ?>
<option value="<?php echo $h->hostel_name; ?>"><?php echo $h->hostel_name; ?></option>
<?php } ?>
</select>
</div>

Мне все еще нужно знать, какие столбцы вы выбираете. Потому что в <option> тег необходимо использовать переменную для доступа к их атрибутам. Прямо сейчас я использовал переменную $h само по себе, что не так.

Вы должны использовать что-то вроде $h->name;

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector