Как рассчитать и отобразить средние баллы студентов - PullRequest
0 голосов
/ 21 октября 2019

Как я могу рассчитать и отобразить средний балл студента?

Вот моя таблица базы данных https://i.imgur.com/EYkbEns.jpg

Primary_model

$average = mysql_query("SELECT AVG(tot_score) AS avgscore FROM scores_primary");
while($row = mysql_fetch_array($average)){
echo $row['avgscore'];
}

Контроллер

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

Просмотр

<span><b>AVERAGE RESULT:</b><?php echo $row['avgscore']; ?></span>

Средняя оценка не отображается. Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 21 октября 2019

Вы делаете это неправильно, если вы хотите усреднить, вы можете лучше создать функцию в контроллере, как показано ниже

function calculateaverage(){
    $query = $this->db->select('AVG(totalscore) as average_score')->from('score')->get();
    return $query->row()->average_score;
}

, а затем вы можете вызвать ее

function index(){
    $data['avg'] = $this->calculateaverage();
    $this->load->view('your-page', $data);
}

и затем вы можете отобразить его на своей странице

<span><b>AVERAGE RESULT:</b><?php echo $avg; ?></span>

, если вы хотите, чтобы avg конкретного ученика, то вы можете передать student_id в функцию

function calculateaverage($student_id){
    $query = $this->db->select('AVG(totalscore) as  average_score')->from('score')->where('student_id', $student_id)->get();
    return $query->row()->average_score;
}
0 голосов
/ 06 ноября 2019

Вот что у меня сработало

Студенческий контроллер

 //  $query = $this->db->query('SELECT AVG(tot_score) FROM scores_primary WHERE student_id = ?');

         $sql = "SELECT AVG(tot_score) as average_score FROM scores_primary WHERE student_id = ?";
        $query = $this->db->query($sql, array($student['id']));

        $data['average_score'] = $query->result()[0]->average_score;

Просмотр

<span><b>AVERAGE RESULT:<?php echo $average_score; ?></b></span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...