게시판 글 엑셀로 업로드 채택완료
영카트 상품일괄등록 파일을 수정해서 게시판에 업로드 할려고 하는데 올라가질 않네요..
음... 아래 구문에서 머가 잘못된게 있는지 봐주세요..
상품테이블에 등록되는걸 방식그대로... 게시판 필드로 수정을 한건데 되야 되는거 아닌가...
테이블은 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개
$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개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
말씀하신것 불필요한것들은 삭제를 했고
문제는 insert into g5_write_test 구문에서 바보같이 g5_2_ 이렇게 세팅된걸 깜빡하고...
당연히 안됐던 거네요 ㅎㅎ;;; g5_2_write_test 이렇게 하는걸로 업로드 해결되었습니다..
영카트 일괄등록파일을 해당 게시판 테이블로 올리게 수정하는건데 왜 안되나 했습니다..
결국엔 테이블 정의값 _2_ 를 빠뜨렸던게 원인이었네요..