заполнение меню выбора с помощью codeigniter и переполнения стека

Здравствуйте, я новичок в codeigniter Framework и у меня есть проблема!

Существует таблица, которая должна быть заполнена всеми видами данных, и одним из пунктов будет меню выбора с опциями, и пока я пытаюсь заполнить это меню выбора, я застрял, и теперь у меня возникла проблема.

Когда я вызываю метод контроллера my_courses ():

 function my_courses(){

$username = $this->session->userdata('username'); //1 username from session

$this->load->model('model_professor'); //2 we load a model,whose task is to load professors courses from table

$result =$this->model_professor->professors_classes($username); //3 so we send username to that model

if($result == false){
echo "Professor has no courses ";
}else{ //4 model will return results collected from table
$query = $this->model_professor->professors_classes($username);
$data['records'] = $query;

//
//
//WE SEND DATA TO A TEST PAGE AND THIS IS OK!!! WHEN I DO THAT EVERYTHING WORKS FINE
//
//

$this->load->view('professor/test',$data);
}
}

МОДЕЛЬ professors_classes:

function professors_classes($username){
$this->db->where("username", $username);

$query = $this->db->get("table_teach_a_course");
//if we have results then we will return them
if($query->result()){
return $query->result();
}
//else we return false
else{
return false;
}
}

Это моя раздетая тестовая страница без имени и значения в select и in option, и здесь все работает нормально. Здесь мне удается поймать результаты и показать их:

    <?php if(isset($records)) { ?>

<select>

<?php foreach ($records as $row){ ?>
<option value=""> <?php echo $row->sifra_predmeta; ?> </option>
<?php } ?>

</select>

<?php } ?>

Но проблема возникает, когда в моем контроллере я отправляю данные на другую страницу (просмотр), что на самом деле важно для меня.
Поэтому, когда я делаю это в методе my_courses ():

$this->load->view('professor/professor_view_insert_labwork',$data);

Я думаю, что это должно посылать данные моему представлению: Professor_view_insert_labwork, но я не могу получить эти данные в этом представлении. Я просто не знаю как и почему!

Это мое раздетое, но «ВАЖНОЕ» представление, опять же без имени и значения в select и in option, представление Professor_view_insert_labwork:

<?php
echo form_open("controller_professor/insert_labwork");
?>
<table border="1">

<tr>
<td>course name</td> <td>button</td> <td></td>
</tr>

<tr>
<td>
<?php if(isset($records)) { ?>
<select>
<?php foreach ($records as $row){ ?>
<option value=""> <?php echo $row->sifra_predmeta; ?> </option>
<?php } ?>
</select>
<?php
}else {
echo"<h2>No records were returned!</h2>";
} ?>
</td>


<td>
<input type="submit" class="" value="Save" />
</td>
</tr>
</table>
<?php
echo form_close();
?>

но он постоянно извлекается в цикле else и выводит эхо-сообщение. Записи не возвращены!

Я не знаю, почему в этом представлении — Professor_view_insert_labwork, я не могу добраться до data $ records, но в тестовом представлении мне удается вытащить данные.

Пожалуйста, помогите мне, потому что я действительно не знаю, что было не так в коде

1

Решение

в твоей модели замени

if($query->result()){
return $query->result();
}

с

if($query->num_rows() > 0){
return $query->result();
}
0

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

Изменить модель

function professors_classes($username)
{
$this->db->where("username", $username);

$query = $this->db->get("table_teach_a_course");
//if we have results then we will return them
$result = $query->result_array();  //here
if(!empty($result))
{
return $result; //here

}
//else we return false
else{
return false;
}
}

И контроллер

<?

function my_courses(){

$username = $this->session->userdata('username'); //1 username from session

$this->load->model('model_professor'); //2 we load a model,whose task is to load professors courses from table

$result =$this->model_professor->professors_classes($username); //3 so we send username to that model

if($result == false)
{
echo "Professor has no courses ";
}
else
{
$data['records'] = $this->model_professor->professors_classes($username);
$this->load->view('professor/test',$data);//make sure your page is correct
}
}

?>

Ввиду

<?php if(!empty($records))
{
?>
<select>

<?php
foreach ($records as $row)
{
?>
<option value=""> <?php echo $row['sifra_predmeta'] ?> </option>
<?php
}
?>

</select>

<?php
}
?>
0

По вопросам рекламы [email protected]