public function ikut_ujian() { $this->cek_aktif(); //var def session $a['sess_level'] = $this->session->userdata('admin_level'); $a['sess_user'] = $this->session->userdata('admin_user'); $a['sess_konid'] = $this->session->userdata('admin_konid'); //var def uri segment $uri2 = mysql_real_escape_string($this->uri->segment(2)); $uri3 = mysql_real_escape_string($this->uri->segment(3)); $uri4 = mysql_real_escape_string($this->uri->segment(4)); //var post from json $p = json_decode(file_get_contents('php://input')); $a['detil_user'] = $this->db->query("SELECT * FROM m_siswa WHERE id = '" . $a['sess_konid'] . "'")->row(); if ($uri3 == "simpan_satu") { $p = json_decode(file_get_contents('php://input')); $update_ = ""; for ($i = 1; $i < $p->jml_soal; $i++) { $_tjawab = "opsi_" . $i; $_tidsoal = "id_soal_" . $i; $jawaban_ = empty($p->{$_tjawab}) ? "" : $p->{$_tjawab}; $update_ .= "" . $p->{$_tidsoal} . ":" . $jawaban_ . ","; } $update_ = substr($update_, 0, -1); $this->db->query("UPDATE tr_ikut_ujian SET list_jawaban = '" . $update_ . "' WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "'"); echo $this->db->last_query(); exit; } else { if ($uri3 == "simpan_akhir") { $p = json_decode(file_get_contents('php://input')); $jumlah_soal = $p->jml_soal; $jumlah_benar = 0; $jumlah_bobot = 0; $update_ = ""; for ($i = 1; $i < $p->jml_soal; $i++) { $_tjawab = "opsi_" . $i; $_tidsoal = "id_soal_" . $i; $jawaban_ = empty($p->{$_tjawab}) ? "" : $p->{$_tjawab}; $cek_jwb = $this->db->query("SELECT bobot, jawaban FROM m_soal WHERE id = '" . $p->{$_tidsoal} . "'")->row(); if ($cek_jwb->jawaban == $jawaban_) { $jumlah_benar++; $jumlah_bobot = $jumlah_bobot + $cek_jwb->bobot; } $update_ .= "" . $p->{$_tidsoal} . ":" . $jawaban_ . ","; } $update_ = substr($update_, 0, -1); $nilai = $jumlah_benar / ($jumlah_soal - 1) * 100; $this->db->query("UPDATE tr_ikut_ujian SET jml_benar = " . $jumlah_benar . ", nilai_bobot = " . $jumlah_bobot . ", nilai = '" . $nilai . "', list_jawaban = '" . $update_ . "', status = 'N' WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "'"); $a['status'] = "ok"; $this->j($a); exit; } else { $cek_sdh_selesai = $this->db->query("SELECT id FROM tr_ikut_ujian WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "' AND status = 'N'")->num_rows(); //sekalian validasi waktu sudah berlalu... if ($cek_sdh_selesai < 1) { //ambil detil soal $cek_detil_tes = $this->db->query("SELECT * FROM tr_guru_tes WHERE id = '{$uri4}'")->row(); $q_cek_sdh_ujian = $this->db->query("SELECT id FROM tr_ikut_ujian WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "'"); $d_cek_sdh_ujian = $q_cek_sdh_ujian->row(); $cek_sdh_ujian = $q_cek_sdh_ujian->num_rows(); if ($cek_sdh_ujian < 1) { $soal_urut_ok = array(); $q_soal = $this->db->query("SELECT id, gambar, soal, opsi_a, opsi_b, opsi_c, opsi_d, opsi_e, '' AS jawaban FROM m_soal WHERE id_mapel = '" . $cek_detil_tes->id_mapel . "' ORDER BY RAND() LIMIT " . $cek_detil_tes->jumlah_soal)->result(); $i = 0; foreach ($q_soal as $s) { $soal_per = new stdClass(); $soal_per->id = $s->id; $soal_per->soal = $s->soal; $soal_per->gambar = $s->gambar; $soal_per->opsi_a = $s->opsi_a; $soal_per->opsi_b = $s->opsi_b; $soal_per->opsi_c = $s->opsi_c; $soal_per->opsi_d = $s->opsi_d; $soal_per->opsi_e = $s->opsi_e; $soal_per->jawaban = $s->jawaban; $soal_urut_ok[$i] = $soal_per; $i++; } $soal_urut_ok = $soal_urut_ok; $list_id_soal = ""; $list_jw_soal = ""; if (!empty($q_soal)) { foreach ($q_soal as $d) { $list_id_soal .= $d->id . ","; $list_jw_soal .= $d->id . ":,"; } } $list_id_soal = substr($list_id_soal, 0, -1); $list_jw_soal = substr($list_jw_soal, 0, -1); $waktu_selesai = tambah_jam_sql($cek_detil_tes->waktu); $this->db->query("INSERT INTO tr_ikut_ujian VALUES (null, '{$uri4}', '" . $a['sess_konid'] . "', '{$list_id_soal}', '{$list_jw_soal}', 0, 0, 0, NOW(), ADDTIME(NOW(), '{$waktu_selesai}'), 'Y')"); $a['detil_soal'] = $this->db->query("SELECT tr_guru_tes.*, m_guru.nama AS namaGuru, m_mapel.nama AS namaMapel \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM tr_guru_tes \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN m_guru ON tr_guru_tes.id_guru = m_guru.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN m_mapel ON tr_guru_tes.id_mapel = m_mapel.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE tr_guru_tes.id = '{$uri4}'")->row(); $a['detiltes'] = $this->db->query("SELECT * FROM tr_ikut_ujian WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "'")->row(); $a['data'] = $soal_urut_ok; } else { $q_ambil_soal = $this->db->query("SELECT * FROM tr_ikut_ujian WHERE id_tes = '{$uri4}' AND id_user = '******'sess_konid'] . "'")->row(); $urut_soal = explode(",", $q_ambil_soal->list_jawaban); $soal_urut_ok = array(); for ($i = 0; $i < sizeof($urut_soal); $i++) { $pc_urut_soal = explode(":", $urut_soal[$i]); $pc_urut_soal1 = empty($pc_urut_soal[1]) ? "''" : "'" . $pc_urut_soal[1] . "'"; $ambil_soal = $this->db->query("SELECT *, {$pc_urut_soal1} AS jawaban FROM m_soal WHERE id = '" . $pc_urut_soal[0] . "'")->row(); $soal_urut_ok[] = $ambil_soal; } $a['detil_soal'] = $this->db->query("SELECT tr_guru_tes.*, m_guru.nama AS namaGuru, m_mapel.nama AS namaMapel \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM tr_guru_tes \n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN m_guru ON tr_guru_tes.id_guru = m_guru.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tINNER JOIN m_mapel ON tr_guru_tes.id_mapel = m_mapel.id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE tr_guru_tes.id = '{$uri4}'")->row(); //$soal_urut_ok = $this->db->query("SELECT * FROM m_soal ORDER BY RAND()")->result(); $a['detiltes'] = $q_ambil_soal; $a['data'] = $soal_urut_ok; } } else { redirect('adm/sudah_selesai_ujian/' . $uri4); } //echo var_dump($a); $this->load->view('aaa_ikut_ujian', $a); } } }
public function index() { echo tambah_jam_sql(145); }