php로 엑셀 업로드 시, 엑셀파일 txt로 저장 후, 첫째열 제외방법

php로 엑셀 업로드 시, 엑셀파일 txt로 저장 후, 첫째열 제외방법

QA

php로 엑셀 업로드 시, 엑셀파일 txt로 저장 후, 첫째열 제외방법

본문


$csvLoad = file($_FILES['fr_od_id']['tmp_name']);
 $csvArray = explode("\n",implode($csvLoad));
 $k = 0;
 for($i=0;$i<count($csvArray[$i]);$i++) {
  $a=explode("\t", $csvArray[$i]);
  $a[0] = trim($a[0]);
  $a[1] = trim($a[1]);
  $a[2] = trim($a[2]);
  $a[3] = trim($a[3]);
  $a[4] = trim($a[4]);
  $a[5] = trim($a[5]);
 
  $sql = "UPDATE dbmain.table
    SET     YN = '{$a[1]}',
            YN_DT = '{$a[2]}',
            PRICE = {$a[3]},
            PRICE_DT = '{$a[4]}',
            CYN = '{$a[5]}'
    WHERE    no = {$a[0]}";
  
  echo $sql;
  $rst = mysqli_query($connect, $sql);
  $k++;
 }

 

이런식으로 엑셀을 txt파일로 저장해서 쿼리문 저장하는 방식으로 진행하였는데,

정상적으로 잘 되고 있긴 합니다. 하지만 좀 작성할때 뭔가 편하게 보이도록 첫째행에 타이틀을 추가하였는데,

 

2042089677_1666063154.6024.png

 

첫째행을 제외하고, 그 다음열부터 SQL을 받아들이도록 하고 싶은데 방법이 있을까요?

 

이 질문에 댓글 쓰기 :

답변 2


<?php
$csvLoad = file($_FILES['fr_od_id']['tmp_name']);
$csvArray = explode("\n",implode($csvLoad));
$k = 0;
for($i=0;$i<count($csvArray[$i]);$i++) {
    if ($i == 0) continue;
    $a=explode("\t", $csvArray[$i]);
    $a[0] = trim($a[0]);
    $a[1] = trim($a[1]);
    $a[2] = trim($a[2]);
    $a[3] = trim($a[3]);
    $a[4] = trim($a[4]);
    $a[5] = trim($a[5]);
    $sql = "UPDATE dbmain.table
    SET     YN = '{$a[1]}',
            YN_DT = '{$a[2]}',
            PRICE = {$a[3]},
            PRICE_DT = '{$a[4]}',
            CYN = '{$a[5]}'
    WHERE    no = {$a[0]}";
    echo $sql;
    $rst = mysqli_query($connect, $sql);
    $k++;
}
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 722
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT