Я ужасно смущен тем, как я должен писать эту функцию ... она в основном оценивает тест и работает для значений одного пользователя.
Допустим, я хочу значения для следующего пользователя: $id = 2
... это работает! Если $id = array(2,3,4,5)
, это не сработает!
function get_score_a($id){
// Case 4
foreach($this->get_results_a($id,4)->row() as $key=>$a){
if ($a >= 2 && $a <= 4) {
$score_a += 2;
} else if ($a > 4 && $a < 8) {
$score_a += 3;
} else if ($a > 8) {
$score_a += floor($a - 8) * .5;
$score_a += 3;
}
};
return $score_a;
}
function get_results_a($id, $method) {
$select_cols = array(
1 => array('a_1','a_2','a_4'),
2 => array('a_6','a_8','a_11','a_12','a_14'),
3 => array('a_3','a_10'),
4 => array('a_5','a_7','a_9','a_13')
);
return $this->db->select($select_cols[$method])
->where_in('id', $id)
->get('be_survey');
}
Это возвращает счет ... однако, если я запускаю несколько идентификаторов ... это просто складывает все числа, я думаю ...
Вместо этого мне нужно выводить отдельные оценки для отдельных пользователей ...
Можно заметить, что я полный нуб! Так что живые объяснения очень ценятся. :)
Редактировать
Пожалуйста, просмотрите мой код ... как я должен был быть более ясным! Сожалею!
Приношу извинения! Суммируя, выбирает правильные значения из таблицы на основе
И да, у меня тоже болят глаза!
Редактировать
Я слишком поспешен! Это проект Codeigniter!