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파일로 저장해서 쿼리문 저장하는 방식으로 진행하였는데,
정상적으로 잘 되고 있긴 합니다. 하지만 좀 작성할때 뭔가 편하게 보이도록 첫째행에 타이틀을 추가하였는데,
첫째행을 제외하고, 그 다음열부터 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++;
}
?>
for($i=0;$i<count($csvArray[$i]);$i++) {
==>
for($i=1;$i<count($csvArray[$i]);$i++) {
답변을 작성하시기 전에 로그인 해주세요.