Codeigniter подсчитывает строкиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Codeigniter подсчитывает строки

Сообщение Anonymous »

Как мне посчитать строки из базы данных?
У меня есть 3 таблицы, а именно:

Код: Выделить всё

questionnaire
choices
answer_sheet
Вот структура таблицы:

анкета

Код: Выделить всё

questionnaire_id
type_id_fk
question
answer
pg
выбор

Код: Выделить всё

choices_id
questionnaire_id_fk
type_id_fk
choices
pg
лист_ответов

Код: Выделить всё

answer_sheet_id
questionnaire_id_fk
choices_id_fk
user_id_fk
status
Мой вопрос: как я могу подсчитать вопросы без ответа и неправильные вопросы?

Вот моя модель:

Код: Выделить всё

function countUnanswered($userID, $type) {
$this->db->select('*');
$this->db->from('questionnaire q');
$this->db->join('answer_sheet a', 'q.questionnaire_id=a.questionnaire_id_fk');
$this->db->where('q.type_id_fk', $type);
$this->db->where('a.user_id_fk', $userID);
$query = $this->db->get();
$rowcount = $query->num_rows();
return $rowcount;
}

function countIncorrect($userID, $type) {
$this->db->select('*');
$this->db->from('answer_sheet a');
$this->db->join('questionnaire q', 'q.answer!=a.choices_id_fk', 'LEFT');
$this->db->where('q.type_id_fk', $type);
$this->db->where('a.user_id_fk', $userID);
$query = $this->db->get();
$rowcount = $query->num_rows();
return $rowcount;
}
Вот мое мнение:

Код: Выделить всё

Unanswered: 
Incorrect: 
Вот мой контроллер

Результаты класса расширяют CI_Controller {

Код: Выделить всё

   public function view($page = 'results') {
if (!file_exists(APPPATH . '/views/pages/results/' . $page . '.php')) {
// Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page) . ' | TOEFL Practice Test'; // Capitalize the first letter
$data['page'] = $page;
$this->load->view('template/header', $data);

if (isset($this->session->userdata['logged_in'])) {
$data['userID'] = ($this->session->userdata['logged_in']['userID']);
$data['username'] = ($this->session->userdata['logged_in']['username']);
$data['email'] = ($this->session->userdata['logged_in']['email']);

$userID = $this->session->userdata['logged_in']['userID'];

$this->load->view('pages/results/' . $page, $data);
} else {
$this->load->view('pages/user/login_form', $data);
}

$this->load->view('template/footer', $data);
}

}
Я вставил 2 вопроса в таблицу анкеты и ответил на эти 2 вопроса, но функция Без ответа возвращает 2. Для неправильной функции возвращается 3

Подробнее здесь: https://stackoverflow.com/questions/315 ... count-rows
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»