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

Copy
$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개

채택된 답변
+20 포인트

Copy
<?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++;
}
?>
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

 for($i=0;$i<count($csvArray[$i]);$i++) {

==>

 

 for($i=1;$i<count($csvArray[$i]);$i++) {
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고