엑셀로 게시판 업로드시...
본문
안녕하세요
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구문 실행하시면 되겠지요
답변을 작성하시기 전에 로그인 해주세요.