В PHP / CodeIgniter, как вы рассчитываете класс и форму рейтинга на основе оценок для студента? - PullRequest
0 голосов
/ 18 ноября 2009

У меня есть таблица базы данных, которая содержит следующую информацию о классе для студента:

student_id
subject_id
gpa
letter_grade (which is calculated based on gpa, & inserted when record is saved)
semester

6   518 95  A+  1

6   534 100 A+  1

Затем я рассчитываю отчет на конец семестра на основе оценок. Я использую gpa для расчета кредитов и общего балла. Основываясь на этом общем балле успеваемости, я хочу рассчитать рейтинг ученика для его класса и его форму (уровень обучения) в целом. Как мне сделать это без сохранения в базе данных этого ранга ранее? Кроме того, это можно сделать из представления в CodeIgniter? Если да, то какой лучший способ это сделать?

Ответы [ 4 ]

1 голос
/ 18 ноября 2009

Я бы предложил сделать это в модели, когда вы получаете данные из MySQL. Таким образом, все ваши данные будут отсортированы и готовы к использованию, когда вы их вернете.

Посмотрите на http://rpbouman.blogspot.com/2009/09/mysql-another-ranking-trick.html способ ранжирования данных в запросе SQL.

1 голос
/ 18 ноября 2009
  1. Можно ли это сделать в Code Igniter? Да, вы должны быть в состоянии.

  2. Должно ли это быть сделано в представлении? Нет, вы не должны делать свои вычисления в представлении. Создайте класс и внесите его, когда создаете модель для обработки оценок. Ваш вид должен использоваться только для визуализации вашего пользовательского интерфейса.

0 голосов
0 голосов
/ 18 ноября 2009

Я бы не рекомендовал вычислять что-либо в представлении.

Я бы посоветовал, если вы используете codeigniter для работы с инфраструктурой MVC, тогда, возможно, есть модель, представляющая описываемые вами функции, и контроллер для объединения этой модели и вашего представления.

Я бы также предложил это видеоурок по codeigniter для очень хорошего обзора фреймворка и кодирования приложений MVC.

...