테스트 사이트 - 개발 중인 베타 버전입니다

게시판 글 엑셀로 업로드 채택완료

웹프리죤 10년 전 조회 8,962

영카트 상품일괄등록 파일을 수정해서 게시판에 업로드 할려고 하는데 올라가질 않네요..

음... 아래 구문에서 머가 잘못된게 있는지 봐주세요..

상품테이블에 등록되는걸 방식그대로... 게시판 필드로 수정을 한건데 되야 되는거 아닌가...

테이블은 test 로 준겁니다. 생성도 되어 있구요.

엑셀 파일로 필드 그대로 지정을 해서 만들어놨습니다..

 

</p><p><?php</p><p>$sub_menu = '400300';</p><p>include_once('./_common.php');</p><p> </p><p>// 상품이 많을 경우 대비 설정변경</p><p>set_time_limit ( 0 );</p><p>ini_set('memory_limit', '50M');</p><p> </p><p>auth_check($auth[$sub_menu], "w");</p><p> </p><p>function only_number($n)</p><p>{</p><p>    return preg_replace('/[^0-9]/', '', $n);</p><p>}</p><p> </p><p>if($_FILES['excelfile']['tmp_name']) {</p><p>    $file = $_FILES['excelfile']['tmp_name'];</p><p> </p><p>    include_once(G5_LIB_PATH.'/Excel/reader.php');</p><p> </p><p>    $data = new Spreadsheet_Excel_Reader();</p><p> </p><p>    // Set output Encoding.</p><p>    $data->setOutputEncoding('UTF-8');</p><p> </p><p>    /***</p><p>    * if you want you can change 'iconv' to mb_convert_encoding:</p><p>    * $data->setUTFEncoder('mb');</p><p>    *</p><p>    **/</p><p> </p><p>    /***</p><p>    * By default rows & cols indeces start with 1</p><p>    * For change initial index use:</p><p>    * $data->setRowColOffset(0);</p><p>    *</p><p>    **/</p><p> </p><p> </p><p> </p><p>    /***</p><p>    *  Some function for formatting output.</p><p>    * $data->setDefaultFormat('%.2f');</p><p>    * setDefaultFormat - set format for columns with unknown formatting</p><p>    *</p><p>    * $data->setColumnFormat(4, '%.3f');</p><p>    * setColumnFormat - set format for column (apply only to number fields)</p><p>    *</p><p>    **/</p><p> </p><p>    $data->read($file);</p><p> </p><p>    /*</p><p> </p><p> </p><p>     $data->sheets[0]['numRows'] - count rows</p><p>     $data->sheets[0]['numCols'] - count columns</p><p>     $data->sheets[0]['cells'][$i][$j] - data from $i-row $j-column</p><p> </p><p>     $data->sheets[0]['cellsInfo'][$i][$j] - extended info about cell</p><p> </p><p>        $data->sheets[0]['cellsInfo'][$i][$j]['type'] = "date" | "number" | "unknown"</p><p>            if 'type' == "unknown" - use 'raw' value, because  cell contain value with format '0.00';</p><p>        $data->sheets[0]['cellsInfo'][$i][$j]['raw'] = value if cell without format</p><p>        $data->sheets[0]['cellsInfo'][$i][$j]['colspan']</p><p>        $data->sheets[0]['cellsInfo'][$i][$j]['rowspan']</p><p>    */</p><p> </p><p>    error_reporting(E_ALL ^ E_NOTICE);</p><p> </p><p>    $dup_wr_id = array();</p><p>    $fail_wr_id = array();</p><p>    $dup_count = 0;</p><p>    $total_count = 0;</p><p>    $fail_count = 0;</p><p>    $succ_count = 0;</p><p> </p><p>    for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++) {</p><p>        $total_count++;</p><p> </p><p>        $j = 1;</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p><span class="Apple-tab-span" style="white-space:pre">		</span> $wr_num<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_reply<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_commen<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $ca_name<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_option<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_subject<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_content<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_link1<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_link2<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_link1_hit<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_link2_hit<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_hit<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_good<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_nogood<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $mb_id<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_password<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_name<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_emai<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_homepage<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_datetime<span class="Apple-tab-span" style="white-space:pre">		</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_last<span class="Apple-tab-span" style="white-space:pre">			</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_ip<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_1<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_2<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_3<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_4<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_5<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_6<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_7<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_8<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_9<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p>         $wr_10<span class="Apple-tab-span" style="white-space:pre">				</span>= addslashes($data->sheets[0]['cells'][$i][$j++]);</p><p> </p><p>        </p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p>        if(!$wr_id) {</p><p>            $fail_count++;</p><p>            continue;</p><p>        }</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p> </p><p>        // it_id 중복체크</p><p>        $sql2 = " select count(*) as cnt from g5_write_test where wr_id = '$wr_id' ";</p><p>        $row2 = sql_fetch($sql2);</p><p>        if($row2['cnt']) {</p><p>            $fail_wr_id[] = $wr_id;</p><p>            $dup_wr_id[] = $wr_id;</p><p>            $dup_count++;</p><p>            $fail_count++;</p><p>            continue;</p><p>        }</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p> </p><p>        // 기본분류체크</p><p>        $sql2 = " select count(*) as cnt from g5_write_test where wr_id = '$wr_id' ";</p><p>        $row2 = sql_fetch($sql2);</p><p>        if(!$row2['cnt']) {</p><p>            $fail_wr_id[] = $wr_id;</p><p>            $fail_count++;</p><p>            continue;</p><p>        }</p><p><span class="Apple-tab-span" style="white-space:pre">		</span></p><p> </p><p>        $sql = " insert into g5_write_test</p><p>                set  wr_num = '$wr_num',</p><p>                     wr_reply = '$wr_reply',</p><p>                     wr_comment = 0,</p><p>                     ca_name = '$ca_name',</p><p>                     wr_option = '$html,$secret,$mail',</p><p>                     wr_subject = '$wr_subject',</p><p>                     wr_content = '$wr_content',</p><p>                     wr_link1 = '$wr_link1',</p><p>                     wr_link2 = '$wr_link2',</p><p>                     wr_link1_hit = 0,</p><p>                     wr_link2_hit = 0,</p><p>                     wr_hit = 0,</p><p>                     wr_good = 0,</p><p>                     wr_nogood = 0,</p><p>                     mb_id = '{$member['mb_id']}',</p><p>                     wr_password = '$wr_password',</p><p>                     wr_name = '$wr_name',</p><p>                     wr_email = '$wr_email',</p><p>                     wr_homepage = '$wr_homepage',</p><p>                     wr_datetime = '".G5_TIME_YMDHIS."',</p><p>                     wr_last = '".G5_TIME_YMDHIS."',</p><p>                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',</p><p>                     wr_1 = '$wr_1',</p><p>                     wr_2 = '$wr_2',</p><p>                     wr_3 = '$wr_3',</p><p>                     wr_4 = '$wr_4',</p><p>                     wr_5 = '$wr_5',</p><p>                     wr_6 = '$wr_6',</p><p>                     wr_7 = '$wr_7',</p><p>                     wr_8 = '$wr_8',</p><p>                     wr_9 = '$wr_9',</p><p>                     wr_10 = '$wr_10' ";</p><p>        sql_query($sql);</p><p> </p><p>        $succ_count++;</p><p>    }</p><p>}</p><p> </p><p>$g5['title'] = '게시판 자료 업로드';</p><p>include_once(G5_PATH.'/head.sub.php');</p><p>?></p><p> </p><p><div class="new_win"></p><p>    <h1><?php echo $g5['title']; ?></h1></p><p> </p><p>    <div class="local_desc01 local_desc"></p><p>        <p>데이터 등록을 완료했습니다.</p></p><p>    </div></p><p> </p><p> </p><p>    <div class="btn_win01 btn_win"></p><p>        <button type="button" onclick="window.close();">창닫기</button></p><p>    </div></p><p> </p><p></div></p><p> </p><p><?php</p><p>include_once(G5_PATH.'/tail.sub.php');</p><p>?> </p><p>

 

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

답변 2개

채택된 답변
+20 포인트
10년 전

$j = 1; 

 

이 부분이 좀 이상한것 같습니다.

 

addslashes($data->sheets[0]['cells'][$i][$j++]); 

 

이런식으로 사용하니까

데이타를 0번째거 부터 읽을려면 -1,

데이타를 1번째거 부터 읽을려면 0,

이어야 할것 같습니다.

 

 

        if(!$wr_id) {

            $fail_count++;

            continue;

        } 

 

이부분도 이상합니다.

 

상위에서 $wr_id 가 정의 된게 없으니 당연히 전부 fail 로 빠져 버릴것 같습니다.

 

 

sql_query($sql); 

이부분도 

sql_query($sql) or die(mysql_error());

 

이런식으로 찍어보는게 좋을거 같습니다.

 

 

근데. 원천적으로 위에서 이미 다 실패로 continue 로 넘어가기 때문에

아래까지 내려갈 일은 없을것 같습니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

웹프리죤
10년 전
네..답변 감사합니다. 자체 해결 했습니다..

말씀하신것 불필요한것들은 삭제를 했고

문제는 insert into g5_write_test 구문에서 바보같이 g5_2_ 이렇게 세팅된걸 깜빡하고...

당연히 안됐던 거네요 ㅎㅎ;;; g5_2_write_test 이렇게 하는걸로 업로드 해결되었습니다..

영카트 일괄등록파일을 해당 게시판 테이블로 올리게 수정하는건데 왜 안되나 했습니다..

결국엔 테이블 정의값 _2_ 를 빠뜨렸던게 원인이었네요..

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

어느부분까지는 정상이고 어느부분에서 꼬여있는지를 확인하기 위해서 echo가 최고지요 

이런 경우 중간 중간에 echo를 통해서 확인하는 방법이 좋습니다 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

웹프리죤
10년 전
네..답변 감사합니다. 자체 해결 했습니다..

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

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

로그인