테스트 사이트 - 개발 중인 베타 버전입니다

카페24 대량메일 DB연동 리턴값 동일? 채택완료

codribble 7년 전 조회 3,026

</p>

<p>if ($_POST['key'] == "인증코드") {</p>

<p>    $conn = mysql_connect(디비 접속 정보);</p>

<p>    mysql_select_db(디비명, $conn);</p>

<p> </p>

<p>    if ($_POST['testmode'] == 1) {</p>

<p>        $result = mysql_query("select count(*) as cnt from 회원테이블"); // 연동 테스트용 , 받는 사람 총 수 쿼리 (실제 발송용 쿼리와 조건절을 같게 작성해주세요)</p>

<p> </p>

<p>        if ($result) {</p>

<p>            $data = mysql_fetch_array($result, MYSQL_ASSOC); echo $data['cnt'];</p>

<p>        }</p>

<p>    } else {</p>

<p>        $result = mysql_query("select 이름, 이메일, 핸드폰, 기타1, 기타.... from 회원테이블"); // 실제 발송용 쿼리</p>

<p>        if ($result) {</p>

<p>            while (</p>

<p>                $row = mysql_fetch_array($result, MYSQL_ASSOC)) {</p>

<p>                    echo $row["이름"].",".$row["이메일"].",".$row['핸드폰'].",".$row['기타1']...기타(최대 10개)"; // 출력 순서는 이름, 이메일, 핸드폰, 기타 순으로 하셔야 합니다. echo "\n";</p>

<p>            }</p>

<p>        }</p>

<p>        mysql_free_result($result);</p>

<p>    }</p>

<p>mysql_close($conn);</p>

<p>} else {</p>

<p>    exit;</p>

<p>}</p>

<p>

 

카페24에서 대량메일 DB연동시 제공되는 php예제

--------------------------------------------------------------------------------------------------

예제를 가져와 수정한 코드

 

</p>

<p><?php

include_once('./_common.php');</p>

<p>if ($_POST['key'] == "실제인증코드")  //인증코드

{

        $sql_common = " from {$g5['member_table']}";

        $sql_where = " where(1) ";</p>

<p> </p>

<p>        // 메일수신동의한 회원만 가져옴

        $sql_where .= " and mb_mailling = '1' ";</p>

<p> </p>

<p>        // 탈퇴, 차단한 회원은 제외

        $sql_where .= " and mb_leave_date = '' and mb_intercept_date = '' ";</p>

<p>

    if ($_POST['testmode'] == 1) {

        $sql = " select count(*) as cnt, mb_id, mb_name, mb_email {$sql_common} {$sql_where}";

        $result = sql_query($sql);

        // 연동 테스트용, 받는 사람 총수 쿼리. 실제 발송용과 같은 조건으로 작성해주세요</p>

<p>        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, 기타....</p>

<p>        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);

    }</p>

<p>    //mysql_close($conn);

} else {

    exit;

}

?></p>

<p>

 

 

 

그런데 메일을 보내려고 db연동된 인원 수를 불러오면 제대로 잘 불러와 지는데

 

정작 발송하고나서 전송결과를 보면 발송하기 전에 불러온 인원수와 차이가 납니다...;;

 

발송하기전에 불러온 인원은 제대로 잘 나오는 상태였고, 정작 발송되는 인원은 전체회원이었습니다.

 

그래서 문의를 남겨보니 testmode 0, 1 의 리턴값을 같게 하라는 답변을 받고

 

위에 처럼 $sql = " select count(*)~~~~ 이 부분을 같게 하고 발송해보니... 저거도 안됩니다..ㅠㅠㅠ

 

혹시 리턴 값을 같게 하려면 어떻게 맞춰줘야 하나요..??ㅠㅠㅠ

 

개발자가 아닌데 해보려고 하니 잘 안되네요ㅠㅠㅠ

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

답변 1개

채택된 답변
+20 포인트
e
7년 전

        if ($result)         {             $data = sql_fetch_array($result);             echo $data['cnt'];         }

이 부분도 동일하게 넣어보세요..

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

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

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

로그인