시군구 데이터 입력 코드

co·2023년 12월 4일
0

function request_region() {
            $objPHPExcel = new PHPExcel();
            $filename = "C:\Users\LB\Desktop\시도시군구읍면동.xlsx";
            $reader = PHPExcel_IOFactory::createReaderForFile($filename);
            $reader->setReadDataOnly(true);
            $excel = $reader->load($filename)->getActiveSheet()->toArray();
            // print_r($excel);
            $sido = array();
            $sigungu = array();
            $eupmyeondong = array();
            for ($i = 1; $i < count($excel); $i++) {
                // 시도의 값을 저장합니다
                $sido[] = $excel[$i][0];
            
                // 시군구의 값을 저장합니다
                $sigungu[] = $excel[$i][0].$excel[$i][1];
            
                // 읍면동의 값을 저장합니다
                $eupmyeondong[] = $excel[$i][2];
            }

            // 새로운 배열에서 중복된 값을 제거합니다

            $sido = array_values(array_unique($sido));
            $sigungu = array_values(array_unique($sigungu));
            $eupmyeondong = array_values(array_unique($eupmyeondong));
          
            // print_r($sigungu);
            $sigungu_arr = array();

            for($i=0;$i<count($sido); $i++) {
                $arr = array();
                for($j=0; $j<count($sigungu); $j++) {
                    if(strpos($sigungu[$j], $sido[$i]) !== false){
                        array_push($arr, str_replace($sido[$i],'',$sigungu[$j]));
                    }
                }
                array_push($sigungu_arr, $arr);
            }

            // print_r($sigungu_arr);
            $sql = "insert into sigungu(name, sido_idx) values (";
            for($i=0; $i<count($sigungu_arr); $i++) {
                for($j=0; $j<count($sigungu_arr[$i]); $j++) {
                    $sql .= $this->null_check($sigungu_arr[$i][$j]).', ';
                    $sql .= $this->null_check(($i+1));
                    if(count($sigungu_arr[$i]) -1 == $j) {
                        $sql .= ")";
                    } else {
                        $sql .= "),(";
                    }
                }
                if(count($sigungu_arr) -1 == $i) {
                    $sql .= "";
                } else {
                    $sql .= ",(";
                }
            }
            $result= $this->conn->db_insert($sql);
            if($result['result'] == 1) {
                $this->result = $result;
                $this->result['message']
            }
            echo $this->jsonEncode($this->result);
        }
profile
아자

0개의 댓글