insert 질문드립니다.
본문
$sql = " insert into g5_write_bbs
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '$member[mb_id]',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$member[mb_email]',
wr_homepage = '$wr_homepage',
wr_datetime = '" . G5_TIME_YMDHIS . "',
wr_last = '" . G5_TIME_YMDHIS . "',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_relation = '$wr_relation',
wr_hp = '$wr_hp',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'
";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update g5_write_patient set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
//----------------------------------------------------------
// gnuwiz 카카오 알림톡 연동 시작
//----------------------------------------------------------
//if ($w == '' && $mb_hp && !$config['cf_use_email_certify']) { // 메일인증을 사용할경우 알림톡 보내지 않음.
$gw_msg = new NCP_SENS_AT();
$gw_msg->templateCode = 'patient'; // 템플릿 코드
$gw_msg->to = $wr_hp; // 수신자 휴대폰번호
$gw_msg->user_field1 = $wr_1; // 필드1 (환자나이)
$gw_msg->user_field2 = $wr_2; // 필드2 (환자성별)
$gw_msg->user_field3 = $wr_3; // 필드3 (진단명)
$gw_msg->user_field4 = $wr_4; // 필드4 (위치)
$gw_msg->send();
//}
//----------------------------------------------------------
// gnuwiz 카카오 알림톡 연동 끝
//----------------------------------------------------------
위와 같이 신청하기 누르면 별도 insert 구문을 만들어서 정상 테이블에 삽입하게 만들었습니다.
모두 정상으로 되는데 하단에 보시면 알림톡 연동 부분이 있습니다.
이게 문제인데 이게 카톡 보내는 시간이 대략 1분 내외로 걸리네요
알림톡도 정상 작동합니다.
그레서 신청하기 누르면 약 1분동안 아무런 반응이 없어서
신청자들이 계속 누르는 현상이 나옵니다.
중복처리는 막아놔서 문제는 안되고 있습니다.
여기서 문의사항!
저기 로딩시간이 걸린다고 어쩔수 없다고 가정하에
신청중입니다. 잠시만 기달려주세요! 라고 멘트를 띄우려면 어떻게 해야되나요?
아니면 로딩없이 바로 페이지 넘어가게 하거나
아니면 테이블에 insert 는 바로 결과페이지로 넘기고 따로 백그라운드에서 알림톡 진행되게 하는 방법?
은 방법이 있을가요?
좋은 방법 있으면 한번만 알려주시면 감사드리겠습니다.
!-->답변 2
insert 이후 함수 하나 만드셔서 함수 호출하시고 그 함수가 레이어 팝업을 띄우게 해버리시면 됩니다.
하지만 insert 과정이든 이후 과정이든 느림 현상이 나온다면 slow쿼리를 의심해볼만 할테고..
그 증상이 무엇인지 먼저 해결하는게 맞을것 같습니다.
또는 애초 클릭 이후 처리 과정을 ajax로 보내고 로딩을 show 시킨 후 ajax가 다녀온 이후 처리가 완료 되면 hide 하는 방식을 개인적으로 선호 하는 바 입니다.
제가 만든 알림톡인데요...
알림톡 소스를 제거해서 속도를 체크해보시고,
알림톡 소스를 넣을때에 속도를 비교해세요.
만약 알림톡 소스때문에 느린거라면,
서버의 api통신 속도가 느려서 그렇습니다.
이 부분은 서버업체에 문의하셔야합니다.