카페24 대량메일 DB연동 리턴값 동일?
본문
if ($_POST['key'] == "인증코드") {
$conn = mysql_connect(디비 접속 정보);
mysql_select_db(디비명, $conn);
if ($_POST['testmode'] == 1) {
$result = mysql_query("select count(*) as cnt from 회원테이블"); // 연동 테스트용 , 받는 사람 총 수 쿼리 (실제 발송용 쿼리와 조건절을 같게 작성해주세요)
if ($result) {
$data = mysql_fetch_array($result, MYSQL_ASSOC); echo $data['cnt'];
}
} else {
$result = mysql_query("select 이름, 이메일, 핸드폰, 기타1, 기타.... from 회원테이블"); // 실제 발송용 쿼리
if ($result) {
while (
$row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo $row["이름"].",".$row["이메일"].",".$row['핸드폰'].",".$row['기타1']...기타(최대 10개)"; // 출력 순서는 이름, 이메일, 핸드폰, 기타 순으로 하셔야 합니다. echo "\n";
}
}
mysql_free_result($result);
}
mysql_close($conn);
} else {
exit;
}
카페24에서 대량메일 DB연동시 제공되는 php예제
--------------------------------------------------------------------------------------------------
예제를 가져와 수정한 코드
<?php
include_once('./_common.php');
if ($_POST['key'] == "실제인증코드") //인증코드
{
$sql_common = " from {$g5['member_table']}";
$sql_where = " where(1) ";
// 메일수신동의한 회원만 가져옴
$sql_where .= " and mb_mailling = '1' ";
// 탈퇴, 차단한 회원은 제외
$sql_where .= " and mb_leave_date = '' and mb_intercept_date = '' ";
if ($_POST['testmode'] == 1) {
$sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";
$result = sql_query($sql);
// 연동 테스트용, 받는 사람 총수 쿼리. 실제 발송용과 같은 조건으로 작성해주세요
if ($result)
{
$data = sql_fetch_array($result);
echo $data['cnt'];
}
} else {
$sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";
$result = sql_query($sql);
// 실제 발송용 쿼리 , 핸드폰, 기타1, 기타....
if ($result)
{
while ($row = sql_fetch_array($result)) {
echo $row['mb_name'].",".$row['mb_email'].",,".$row['mb_id']; //,".$row['핸드폰'].",".$row['기타1']...기타(최대 10개);
// 출력 순서는 이름, 이메일, 핸드폰, 기타 순으로 하셔야 합니다.
//사용하실 회원정보의 필드명을 각각 입력해주시면 됩니다. 이름, 이메일은 필수정보입니다.
echo "\n";
}
}
sql_free_result($result);
}
//mysql_close($conn);
} else {
exit;
}
?>
그런데 메일을 보내려고 db연동된 인원 수를 불러오면 제대로 잘 불러와 지는데
정작 발송하고나서 전송결과를 보면 발송하기 전에 불러온 인원수와 차이가 납니다...;;
발송하기전에 불러온 인원은 제대로 잘 나오는 상태였고, 정작 발송되는 인원은 전체회원이었습니다.
그래서 문의를 남겨보니 testmode 0, 1 의 리턴값을 같게 하라는 답변을 받고
위에 처럼 $sql = " select count(*)~~~~ 이 부분을 같게 하고 발송해보니... 저거도 안됩니다..ㅠㅠㅠ
혹시 리턴 값을 같게 하려면 어떻게 맞춰줘야 하나요..??ㅠㅠㅠ
개발자가 아닌데 해보려고 하니 잘 안되네요ㅠㅠㅠ
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.