Как я могу подсчитать строки из базы данных? У меня есть 3 таблицы, а именно:Codeigniter count rows
questionnaire
choices
answer_sheet
Вот структура таблицы:
опросник
questionnaire_id
type_id_fk
question
answer
pg
выбор
choices_id
questionnaire_id_fk
type_id_fk
choices
pg
answer_sheet
answer_sheet_id
questionnaire_id_fk
choices_id_fk
user_id_fk
status
Мой вопрос, как я могу считать unanswered
вопросы и incorrect
вопросы?
Вот моя модель:
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;
}
Вот мое мнение:
<p><label>Unanswered:</label> <span class="badge"><?php echo $countUnanwered = $this->Mresults->countUnanswered('1'); ?></span></p>
<p><label>Incorrect:</label> <span class="badge"><?php echo $countIncorrect = $this->Mresults->countIncorrect($userID, '1'); ?></span></p>
Вот мой контроллер
класса Результаты расширяет 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 вопроса, но он возвращает 2 в функции без ответа. Для неправильной функции он возвращает 3'. Можете ли вы хотя бы указать имена столбцов для каждой таблицы? – ekad