엑셀로 게시판 업로드시...

엑셀로 게시판 업로드시...

QA

엑셀로 게시판 업로드시...

본문

안녕하세요

board_01 게시판 테이블에 엑셀로 대량 글을 올리려 합니다..

엑셀파일도 .xls로 했고

일단 테이블 수 대로

$wr_num ~ $wr_10 까지 전부 넣어서 해보고 있는데요

게시물이 올라가지가 않습니다..ㅠㅠ

 

 

 


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

 

 

이 질문에 댓글 쓰기 :

답변 2

         if(!$wr_id) {
118            $fail_count++;
119            continue;
120        }

 

 

저 $wr_id가 난데 없이 어디서 나온 것이죠?

$wr_id 가 없으면 하지마라 이렇게 되어잇으니 loop만 뱅뱅 돌다가 끝나는 것입니다

 

그리고 insert 후에도 해주어야할 작업이 두가지가 잇습니다

wr_parent 값넣기, 카운트 증가 시키기 ==> /bbs/write_update.php 참고...

 

 

이런건 중간중간에 echo 구문을 뿌려가면서 확인해 보는 수밖에 없습니다

sql_query($sql);  

이 구문대신에

//sql_query($sql);

echo $sql."<br/>"; 

확인하고 다 맞다면 sql구문 실행하시면 되겠지요 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 75
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT