2026, 새로운 도약을 시작합니다.

엑셀 업로드시 중복 거르기 sql질문 채택완료

2년 전 조회 3,003

안녕하세요

게시판 엑셀 업로드를 사용중인데

주민번호 앞자리와 이름이 같으면 중복처리되어

업로드가 안되게 하려 합니다.

홍길동 880101-1

이 게시물에 있는데

엑셀에도

홍길동 880101-1 이 있으면 등록이 안되게요

현재는 주민번호앞자리만 체크됩니다.


// wr_2 주민번호앞자리 중복체크
$sql2 = " select count(*) as cnt from $write_table where wr_2 = '$wr_2' ";
$row2 = sql_fetch($sql2);
if(isset($row2['cnt']) && $row2['cnt']) {
$fail_wr_2[] = $wr_2;
$dup_wr_2[] = $wr_2;
$dup_count++;
$fail_count++;
continue;
}

실패코드 : <?php echo implode(', ', $fail_wr_2); ?>

중복주민번호앞자리 : <?php echo implode(', ', $dup_wr_2); ?>

이렇게 하면 wr_2의 주민번호 앞자리가 중복체크 됩니다.

wr_1에 이름이 들어가는데

wr_1 과 wr_2 를 동시에 체크하는 방법이 없을까요?

고수님들의 가르침부탁드립니다. ㅠ

답변 3개

채택된 답변
+20 포인트
Copy
$sql2 = " 

  select count(*) as cnt 

    from {$write_table} 

   where wr_2 = '{$wr_2}' 

     and wr_1 = '{$wr_1}'

";



$row2 = sql_fetch($sql2);

 

if (isset($row2['cnt']) && $row2['cnt']) {

  $fail_wr_2[] = $wr_1 . '|' . $wr_2;

  $dup_wr_2[] = $wr_1 . '|' . $wr_2;

  

  $dup_count++;

  $fail_count++;

  continue;

}

 

실패코드 : 

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

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

$sql2 = " select count(*) as cnt from $write_table where wr_1 = '$wr_1' and wr_2 = '$wr_2' ";
$row2 = sql_fetch($sql2);
if(isset($row2['cnt']) && $row2['cnt']) {
  $fail_wr_2[] = $wr_2;
  $fail_wr_1[] = $wr_1;
  $dup_wr_2[] = $wr_2;
  $dup_wr_1[] = $wr_1;
  $dup_count++;
  $fail_count++;
  continue;
}

실패주민앞자리 : <?php echo implode(', ', $fail_wr_2); ?>
실패이름 : <?php echo implode(', ', $fail_wr_1); ?>
중복주민앞자리 : <?php echo implode(', ', $dup_wr_2); ?>
중복이름 : <?php echo implode(', ', $dup_wr_1); ?>

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

답변에 대한 댓글 1개

echo "중복 주민앞자리: " . implode(', ', $dup_wr_2);

echo "중복 이름: " . implode(', ', $dup_wr_1);

echo "실패 주민앞자리: " . implode(', ', $fail_wr_2);

echo "실패 이름: " . implode(', ', $fail_wr_1);

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

$sql = " select count(*) as cnt from $write_table where wr_1 = '$wr_1' and wr_2 = '$wr_2'";
$row = sql_fetch($sql);

if (isset($row['cnt']) && $row['cnt']) {
    $fail_wr_1[] = $wr_1;
    $fail_wr_2[] = $wr_2;
    $dup_count++;
    $fail_count++;
    continue;
}

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

답변에 대한 댓글 1개

echo "실패 코드: " . implode(', ', $fail_wr_1) . " (주민번호 앞자리: " . implode(', ', $fail_wr_2) . ")";

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

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

로그인
🐛 버그신고