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

od_id가 같으면 메일을 한번만 보내고 싶은데, 어떻게해야 될까요?ㅠ 채택완료

GNUAPP 2년 전 조회 1,393

g5_shop_cart 저장된 내역을 불러서 메일을 보내려고 하는데,

od_id가 같더라도 ct_id 기준이라서 메일을 여러번 보내게되요.

od_id가 같으면 메일을 한번만 보내고 싶은데, 어떻게해야 될까요?ㅠ

도움 부탁 드립니다.

 

$cnt = (isset($_POST['ct_id']) && is_array($_POST['ct_id'])) ? count($_POST['ct_id']) : 0;
for ($i=0; $i<$cnt; $i++)
{

mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $email, $title, $content, 1);

}

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

답변 1개

플라이
2년 전

cart 테이블에 데이터를 가져올때 group by od_id 값으로 가져오셔서 처리하시면 될듯 합니다.

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

답변에 대한 댓글 3개

G
GNUAPP
2년 전
플라이님 답변 감사드려요~ cart 테이블에 각각 운송장번호를 넣어놔서 그룹하기가 어려워요. continue 기능처럼 od_id가 1개 이상하면 메일을 1개만 보낼 방법이 없을까요?
플라이
2년 전
정렬을 od_id기준으로 하고 동일한 od_id값이 다를때만 실행하게 하셔되 되세요
G
GNUAPP
2년 전
답변 감사드려요~
동일한 od_id값이 다를때가 어떤 경우인가요?
아래처럼 해보기는 하는데, 잘 안되네요. ㅜ
ct_comcode가 운송장번호입니다.

$sql1 = " select count(*) as cnt from {$g5['g5_shop_cart_table']} where od_id = '$od_id' ";
$row1 = sql_fetch($sql1);

$sql3 = " select * from {$g5['g5_shop_cart_table']} where od_id = '$od_id' and ct_comcode = '' ";
$row3 = sql_fetch($sql3);

if($row1['cnt'] > 1){
if($row3[ct_id] == $ct_id){
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $email, $title, $content, 1);
}
}else{
mailer($config['cf_admin_email_name'], $config['cf_admin_email'], $email, $title, $content, 1);
}

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

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

로그인