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

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

QA

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

답변 2

본문


$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++;
}
?>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 19
© SIRSOFT
현재 페이지 제일 처음으로