Вам нужно больше знать о типах переменных.
В вашем контроллере
public function proflist(){
$data = "";
$this->load->model('feedbackmodel');
$data['teachers'] = $this->feedbackmodel->getFaculty();
$this->load->view('feedback/proflist',$data);
}
Вы объявляете $ data как STRING с помощью $data = "";
,
Затем вы решаете, что это будет массив, с помощью
$data['teachers'] = $this->feedbackmodel->getFaculty();
Чтобы быть правильным, $ data должен быть объявлен как пустой массив, а не как строка emtpy.
public function proflist(){
$data = array(); // Using the older style of declaring an array.
$this->load->model('feedbackmodel');
$data['teachers'] = $this->feedbackmodel->getFaculty();
$this->load->view('feedback/proflist',$data);
}
Теперь в вашей модели ваши возвращенные данные создаются с помощью
return $query->result_array();
Если вы посмотрите документацию codeigniter по этому вопросу, она скажет вам, что полученные данные представляют собой массив ассоциативных данных, т.е. $ data ['teacher'] будет иметь вид
$data['teachers']['fid']
и т. Д.
Ваше мнение требует, чтобы это был объект.
Таким образом, вы можете изменить свое представление, которое требует, чтобы $ учителя был объектом, с ...
<?php
// $teachers should be returned from result() which is an object.
if(!empty($teachers)) {
foreach($teachers as $y){
?>
<tr>
<td><?php echo $y->fid; ?></td>
<td><?php echo $y->fname." ". $y->lname; ?></td>
<td><?php echo $y->email; ?> </td>
<td>
...
До
<?php
// $teachers is returned from result_array() which is an associative array.
if(!empty($teachers)) {
foreach($teachers as $y){
?>
<tr>
<td><?php echo $y['fid']; ?></td>
<td><?php echo $y['fname']." ". $y['name']; ?></td>
<td><?php echo $y['email']; ?> </td>
<td>
...
ИЛИ просто измените доход от вашей модели, которая является одним вкладышем Так что измени свою модель с
public function getFaculty(){
$query = $this->db->query('SELECT * FROM teacher');
return $query->result_array(); // Return an associative array
}
К
public function getFaculty(){
$query = $this->db->query('SELECT * FROM teacher');
return $query->result; // Return an object
}
Итак, короткая версия:
Проверьте возвращенную структуру массива. Для этого вы должны использовать var_dump ().
Измените свой код на подходящий.
Либо измените возврат по вашей модели с result_array () на result (), либо
Измените ваши представления с адресации объектов на ассоциативные массивы.
Я вынужден уделить время более подробным сведениям на этом этапе, но это должно помочь вам понять, что происходит.