<?php
class Import_member extends MY_Controller {
function __construct() {
parent::__construct();
}
function index($success = '0') {
if ($success == '1') {
$data['msg_text'] = 'นำเข้าข้อมูลสมาชิกเรียบร้อย';
}
$data['page_title'] = 'นำเข้าข้อมูลสมาชิก';
$data['content'] = 'import/import_member_v';
$this->load->view('template_v', $data);
}
//ประมวลผลข้อมูลเกรดแบบรายวิชา
function process() {
$this->load->library('Spreadsheet_Excel_Reader');
$this->load->library('encrypt');
//ผลการเรียนแบบสรุป
if ($_FILES["excel_file"]["name"] != "") {
$file_temp = $_FILES['excel_file']['tmp_name'];
$file_name = basename($_FILES['excel_file']['name']);
$ext_file = explode(".", $file_name);
$ext_file = $ext_file[count($ext_file) - 1];
$file_name = md5(microtime()) . "." . $ext_file;
// upload here
move_uploaded_file($file_temp, "assets/upload/" . $file_name);
$strPath = realpath(basename(getenv($_SERVER["SCRIPT_NAME"]))); // C:/AppServ/www/myphp
$openFile = $strPath . "/assets/upload/" . $file_name;
$this->spreadsheet_excel_reader->setOutputEncoding('utf-8');
$this->spreadsheet_excel_reader->setUTFEncoder('iconv');
$this->spreadsheet_excel_reader->read($openFile);
$worksheet = $this->spreadsheet_excel_reader->sheets[0];
$this->member_data($worksheet, $openFile);
} else {
redirect('import_member/index/1');
}
}
function member_data($worksheet, $openFile) {
//รูปแบบ $worksheet['cells'][แถวที่][คอลัมที่] โดย Column และ Row เริ่มนับจาก 1 เสมอ
$numCols = 10; //Fix ไว้เลย
$numRows = $worksheet['numRows']; //จำนวนแถุว
$log = '';
for ($i = 0; $i < $numRows; $i++) {
$irow = $i + 2;
if (isset($worksheet['cells'][$irow][1])) {
$ret = array();
for ($j = 0; $j < $numCols; $j++) {
$icol = $j + 1;
if (isset($worksheet['cells'][$irow][$icol])) {
$ret[] = $worksheet['cells'][$irow][$icol];
} else {
$ret[] = '';
}
}
$this->db->where('code', $ret[6]);
$depart = $this->db->get('tbdepart')->row_array();
if (isset($depart['id'])) {
$sql = "select * from tbmember where name='" . $ret[0] . "'";
$row = $this->db->query($sql)->row_array();
$this->db->where('username', $ret[1]);
$member = $this->db->get('tbmember')->row_array();
$import = true;
if (isset($member['id'])) {
if ($member['name'] != $ret[0]) {
$import = false;
$log.=$ret[0] . " ไม่สามารถนำเข้าได้เนื่องจาก ชื่อผู้ใช้งน " . $ret[1] . " มีอยู่ในระบบ <br/>";
}
}
if ($import) {
$data = array(
'name' => $ret[0],
'username' => $ret[1],
'password' => $this->encrypt->encode($ret[2]),
'position' => $ret[3],
'mobile' => $ret[4],
'tel' => $ret[5],
'depart_id' => $depart['id'],
'status' => $ret[7],
'mem_type' => $ret[8],
'email' => $ret[9]
);
if (isset($row['id'])) {
$this->db->where('name', $ret[0]);
$this->db->update('tbmember', $data);
} else {
$this->db->insert('tbmember', $data);
}
}
} else {
$log.=$ret[0] . " ไม่สามารถนำเข้าได้เนื่องจาก รหัสแผนก " . $ret[6] . " ไม่มีอยู่ในระบบ <br/>";
}
}
}
unlink($openFile);
$data['msg_text'] = 'นำเข้าข้อมูลสมาชิกเรียบร้อย';
if($log!='') $data['log'] = $log;
$data['page_title'] = 'นำเข้าข้อมูลสมาชิก';
$data['content'] = 'import/import_member_v';
$this->load->view('template_v', $data);
}
}
?>