csv로 게시판에 데이터 업로드 후 정렬 인시(?) 오류 질문입니다
본문
csv로 게시판에 데이터를 입력한 후 추가한 필드중 하나가 정렬이 안됩니다.
따로 게시판에서 글쓰기로 동일한 내용을 올린 경우에는 결과에 잘 나오구요.
phpMyadmin에서 csv로 올린 게시물을 내용 수정없이 그냥 수정(확인)만 해주면 목록에 나옵니다 ;;
대량등록을 위해서 엑셀등록을 한건데, 일일이 바꿔줘야 한다면..;;
이런 경우가 있는것인지 업로드하는 문서에 문제가 있는것인지 아무리 찾아보고 이리저리 해봐도 안되네요;;
--------------------------------------
list.php 수정한 부분입니다
ca_name, wr_local_1 까지는 정렬이 되는데 wr_local_2 가 문제인데요
왜 인식을 못하는 것인지...
if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
if ($local) {
$sql_search .= " and wr_local_1 = '$local' "; // 광역지역
}
if ($local2) {
$sql_search .= " and wr_local_2 = '$local2' "; // 상세지역 <= 이 부분이 안되고 있습니다.
}
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
---------------------------------------------
엑셀 업로드 소스중 루프 부분입니다.
데이터 입력은 제대로 되고 있습니다.
for($i=1;$i<count($csvArray)-1;$i++) {
$xinfo=explode(",", $csvArray[$i]);
$xwr_id=$xinfo[0]; // 글번호 wr_id
$xbo_table=$xinfo[1]; // 게시판 - bo_table
$xbo_subject=$xinfo[2]; // 업종(대) - bo_subject
$xca_name=$xinfo[3]; // 업종(중)/분류 - ca_name
$xwr_subject=$xinfo[4];; // 업체명 - wr_subject
$xwr_content=$xinfo[5]; // 상세설명 - wr_content
$xwr_link1=$xinfo[6]; // 홈페이지 - wr_link1
$xwr_1=$xinfo[7]; // 전화번호 - wr_1
$xwr_2=$xinfo[8]; // 핸드폰 - wr_2
$xwr_4=$xinfo[9]; // 월사용료 - wr_4
$xwr_5=$xinfo[10]; // 이용시간 - wr_5
$xwr_6=$xinfo[11]; // 프로그램안내 - wr_6
$xwr_addr1=$xinfo[12]; // 주소1
$xwr_addr2=$xinfo[13]; // 상세주소
$xwr_tag=$xinfo[14]; // 태그(키워드) - wr_tag
$xwr_local_1=$xinfo[15]; // 지역(광역) - wr_local_1
$xwr_local_2=$xinfo[16]; // 지역2(시/군/구) - wr_local_2
// 쉼표로 치환 {.}
$xca_name=trim(addslashes(str_replace("{.}",",",$xca_name))); // 업종(중)/분류 - ca_name
$xwr_subject=trim(addslashes(str_replace("{.}",",",$xwr_subject)));; // 업체명 - wr_subject
$xwr_content=trim(addslashes(str_replace("{.}",",",$xwr_content))); // 상세설명 - wr_content
$xwr_link1=trim(addslashes(str_replace("{.}",",",$xwr_link1))); // 홈페이지 - wr_link1
$xwr_1=trim(addslashes(str_replace("{.}",",",$xwr_1))); // 전화번호 - wr_1
$xwr_4=trim(addslashes(str_replace("{.}",",",$xwr_4))); // 월사용료 - wr_4
$xwr_5=trim(addslashes(str_replace("{.}",",",$xwr_5))); // 이용시간 - wr_5
$xwr_6=trim(addslashes(str_replace("{.}",",",$xwr_6))); // 프로그램안내 - wr_6
$xwr_addr1=trim(addslashes(str_replace("{.}",",",$xwr_addr1))); // 주소1
$xwr_addr2=trim(addslashes(str_replace("{.}",",",$xwr_addr2))); // 상세주소
$xwr_tag=trim(addslashes(str_replace("{.}",",",$xwr_tag))); // 태그(키워드) - wr_tag
$xwr_11 = $xwr_addr1 . " " . $xwr_addr2 ; // 주소를 합친다
// 따옴표로 치환 {?}
$xca_name=str_replace("{?}","\'",$xca_name); // 업종(중)/분류 - ca_name
$xwr_subject=str_replace("{?}","\'",$xwr_subject);; // 업체명 - wr_subject
$xwr_content=str_replace("{?}","\'",$xwr_content); // 상세설명 - wr_content
$xwr_link1=str_replace("{?}","\'",$xwr_link1); // 홈페이지 - wr_link1
$xwr_1=str_replace("{?}","\'",$xwr_1); // 전화번호 - wr_1
$xwr_4=str_replace("{?}","\'",$xwr_4); // 월사용료 - wr_4
$xwr_5=str_replace("{?}","\'",$xwr_5); // 이용시간 - wr_5
$xwr_6=str_replace("{?}","\'",$xwr_6); // 프로그램안내 - wr_6
$xwr_11=str_replace("{?}","\'",$xwr_11); // 주소 wr_11
$xwr_tag=str_replace("{?}","\'",$xwr_tag); // 태그(키워드) - wr_tag
if(!$xbo_table || $xbo_table=="") {
if($xbo_subject == "운동") {
$xbo_table = "G05_1" ;
} elseif($xbo_subject == "병원") {
$xbo_table = "G05_2" ;
} elseif($xbo_subject == "피부/미용") {
$xbo_table = "G05_3" ;
} else {
alert("업종(게시판)값이 올바르지 않습니다.");
}
}
$tmp_write_table = $g4['write_prefix'] . $xbo_table;
if ($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
$wr_password = $member[mb_password];
$wr_email = $member[mb_email];
$wr_homepage = $member[mb_homepage];
}
else
{
$mb_id = "";
// 비회원의 경우 이름이 누락되는 경우가 있음
$wr_name = strip_tags(mysql_escape_string($_POST['wr_name']));
if (!trim($wr_name))
alert("이름은 필히 입력하셔야 합니다.");
$wr_password = sql_password($wr_password);
}
$wr_num = get_next_num($tmp_write_table);
$wr_reply = "";
$sql = "select count(*) as cnt from $tmp_write_table where wr_id='$xwr_id' ";
$row = sql_fetch($sql);
if($row[cnt]>0)
{
$sql = "update $tmp_write_table set
ca_name='$xca_name',
wr_subject='$xwr_subject',
wr_content='$xwr_content',
wr_link1='$xwr_link1',
wr_1='$xwr_1',
wr_2='$xwr_2',
wr_4='$xwr_4',
wr_5='$xwr_5',
wr_6='$xwr_6',
wr_11='$xwr_11',
wr_tag='$xwr_tag',
wr_local_1='$xwr_local_1',
wr_local_2='$xwr_local_2'
where wr_id='$xwr_id' limit 1";
}
else
{
$sql=" insert into $tmp_write_table set
wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name='$xca_name',
wr_option = '$html,$secret,$mail',
wr_subject='$xwr_subject',
wr_content='$xwr_content',
wr_link1='$xwr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_trackback = '$wr_trackback',
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 = '$g4[time_ymdhis]',
wr_last = '$g4[time_ymdhis]',
wr_ip = '$_SERVER[REMOTE_ADDR]',
wr_1='$xwr_1',
wr_2='$xwr_2',
wr_4='$xwr_4',
wr_5='$xwr_5',
wr_6='$xwr_6',
wr_11='$xwr_11',
wr_tag='$xwr_tag',
wr_local_1='$xwr_local_1',
wr_local_2='$xwr_local_2' ";
$wr_id = mysql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $tmp_write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$xbo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$xbo_table'");
}
// echo $sql ;
sql_query($sql);
답변 1
행여나 공백등의 문제는 아니었을런지... trim이라도 해보시는게 좋지 않을까요?
$xwr_local_1 = trim($xinfo[15]);
$xwr_local_2 = trim($xinfo[16]);