한가지만 봐주십시오
본문
엑셀로 업로드할때
100개까지는 한개시물에 그다음은 다음 게시물로 나뉘어 올라가게 했습니다.
$mod= 101; //최대 상품url 입력수 ...이거는 첫 시작 설명줄 한줄 빼야 해서 101이구요,
엑셀업로드 갯수가 210개라면 3개글로 나뉘어 등록되는데요...
for ($i = 0; $i < $mod; $i++){ if($sline > $highestRow) break; 이거 때문이겟지만
101번 라인까지 1개 개시글...그다음 102번줄부터 100개 이런식으로 등록되어야 하는데....
100개 등록후 sline때문에 1줄이 날라가고 103번 줄부터 등록됩니다.
-----------------------------------------------------------------------------
$tot_rows = $highestRow = $objWorksheet->getHighestRow();
$tit_size = $objWorksheet->getCell('D1')->getValue();
if($tit_size == '색상/사이즈'){ $sline = 2; $tot_rows--; } else $sline=1;
$mod= 101; //최대 상품url 입력수
$pg_num = ceil( $tot_rows / $mod);
if($w=='u') $pg_num = 2; //--- 상품을 등록/수정
for ($h = 0; $h < $pg_num; $h++){
$add_qry = $deli =''; $sum_qty = 0;
$p_url = $price = $qty = $size =$total_price= array();
for ($i = 0; $i < $mod; $i++){ if($sline > $highestRow) break;
$urlk= trim($objWorksheet->getCell('A'.$sline)->getValue());
$pricek = str_replace(',' ,'', $objWorksheet->getCell('B'.$sline)->getValue());
$qtyk = str_replace(',' ,'', $objWorksheet->getCell('C'.$sline)->getValue());
$sizek = $objWorksheet->getCell('D'.$sline)->getValue();
$total_pricek = $pricek * $qtyk;
$sline++;
답변 3
첫줄을 뺀다고 해서 101을 넣으면 안됩니다
첫줄을 빼는 것은 if($tit_size == '색상/사이즈'){ ~~~~이 부분에서 하는 것이고
$mod는 한페이지당 읽어들일 갯수인데 101로 하면 0~100까지 101개를 읽게 됩니다
그러니 $mod = 100; 입니다 (0~99까지 이니 100개가 되죠)
1 . $i = 0; $i < $mod; $i++){ // $mod=100
2 . $i = 101; $i < $mod; $i++){ // $mod=200
3 . $i = 201; $i < $mod; $i++){ // $mod=300
변수를 정의 또는 연결 해서 실행 하세요
만약 엑셀 데이터를 받아왓는데 밀린다..
이런경우는 파일이 Xls등의 어떤 파일인지에 따른
오류가 다르게 존재 합니다.