2016-02-28 3 views
-1

Как получить студенческие баллы по каждому предмету из таблицы базы данных InFront их имен ..Php, CodeIgniter, MySQL

My Model

public function getscore($class, $term, $session) 
{ 
    $query = $this->db->query("SELECT scores FROM allscores WHERE class ='$class' AND term ='$term' AND session ='$session' AND  scores !=0"); 
    return $query; 
} 

контроллер

public function showscores() 
{ 
    $class=$this->input->post('classes'); 
    $term=$this->input->post('term'); 
    $session=$this->input->post('session'); 
    $data['query_scores'] = $this->model->getscore($class,$term, $session); 
    $this->load->view('scoresheet', $data); 
} 

просмотр страницы

<table> 
    <tr> 
    <?php 
     foreach ($query_scores->result() as $row) 
     { 
    ?> 
      <td><?php echo $row->scores; ?></td> 
    <?php 
     } 
    ?> 
    </tr> 
</table> 

Примечание: stu имя вмятины указано горизонтально в левой части страницы d, имена объектов отображаются вертикально как заголовок. Мой вызов состоит в том, чтобы отобразить оценку каждого предмета под именем предмета для каждого ученика. Ваша помощь в этом отношении будет очень оценена.

+0

Это возвращает правильный массив в $ query_scores-> result() –

ответ

0
public function getscore($class, $term, $session) 
{ 
    $query = $this->db->query("SELECT scores FROM allscores WHERE class ='$class' AND term ='$term' AND session ='$session' AND  scores !=0"); 
    return $query-result(); 
} 

Используйте result(), чтобы отформатировать и показать объект из базы данных.

0

Используйте формат следующей таблицы для отображения предметных имен

<table> 
    <thead> 
    <tr> 
     <td> SUB1 </td> <td> SUB2 </td> <td> SUB3 </td> 
    </tr> 
    </thead> 

Теперь используйте код для соответствующего содержания. Точный код PHP для отображения оценки предмета будет зависеть от структуры вашей базы данных. Для получения дополнительных разъяснений, пожалуйста, поделитесь своей структурой таблицы базы данных.

0

попробуйте это.

Модель:
Примечание: имя изменение поля и структура запросов, чтобы соответствовать Вашим

нормально это потребует объединения, но это простой пример для вас, чтобы получить представление

public function getscore($class, $term, $session){ 
     $query = $this->db->query("SELECT scores,student_id ,student_name, subject_id,subject_name , FROM allscores WHERE class ='$class' AND term ='$term' AND session ='$session' AND scores !=0"); 
     return $query; 
    } 

Контроллер:

public function showscores(){ 
     $class=$this->input->post('classes'); 
     $term=$this->input->post('term'); 
     $session=$this->input->post('session'); 
     $data['query_scores'] = $this->model->getscore($class,$term, $session); 

     // create array to hold the new organized data; 
     $list = array(); 
     // list['scores'] will hold the student scores; 
     // list['students'] = will hold the student names 
     // list['subjects'] = will hold the subjects names 

     // loop throught the result 
     foreach ($query_scores->result() as $row){ 
     $list['scores'][$row->student_id][$row->subject_id] = $row->scores; 
     $list['students'][$row->student_id]= $row->student_name; 
     $list['subjects'][$row->subject_id]= $row->subject_name; 
     } 

     $this->load->view('scoresheet', $list); 
    } 

страница просмотра:

<table> 
     <tr> 
    <?php 
     foreach ($subjects as $subject){ 
     echo "<td>".$subject."</td>"; // will display subjects names on the first row 
     } 
    ?> </tr> <?php 
     $column = 0; 
     foreach ($scores as $key=>$element){ 
     echo "<tr>"; 
     echo "<td>".$students[$key]."</td>"; // will display student names on the first col 
     foreach ($element as $subKey=>$subelement){ 
      echo "<td>".$subelement."</td>"; 
     } 
     echo "<tr>"; 
    <?php 
     } ?> 
</table>