설정하기 - 음악설정 퍼블리싱 적용

dev_bert
jonghwan76 3 years ago
parent 7dce237ac8
commit 2f30eee0f7

@ -1,46 +1,56 @@
<#include "/m/include/index_top.ftl">
<head>
<link href="../css/style.css?1" rel="stylesheet" type="text/css" >
</head>
<body class="bg_setting">
<div class="wrap">
<!--회원가입 상자(가입확인, 정보입력, 가입 완료) -->
<div class="main_cont_status">
<div id="active">
<p>가입 확인</p>
</div>
<div>
<p>정보 입력</p>
</div>
<div>
<p>가입 완료</p>
</div>
</div>
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">회원가입 1단계-실명인증</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<form id="frmJoinMember" name="frmJoinMember" method="post" action="authComplete.do" enctype="multipart/form-data">
<input type="hidden" id="check_status" name="check_status" value="" />
<input type="hidden" id="s_no" name="s_no" value="" />
<main class="m_join_member">
<div class="profile_wrap">
<h1 class="l_title">회원가입을 위해 아래정보를 입력해주세요.</h1>
<!-- 주석처리 되어있는 부분 다시 해제 -->
<div class="profile_cont phone_cont">
<h2 class="p_title">휴대폰 인증</h2>
<div class="p_list_item p_border_box">
<div class="p_input_box">
<input type="number" id="phone" name="phone" value="${Session.rm_member['phone']!}" placeholder="'-'없이 번호만 입력" >
</div>
<button type="button" id="id_phone_num" onclick="javascript:ajax_send_sms();" class="btns blue_btn">인증요청</button>
<input type="hidden" id="check_status" name="check_status" value="" />
<input type="hidden" id="s_no" name="s_no" value="" />
<main class="m_join_member">
<div class="profile_wrap">
<h1 class="l_title">회원가입을 위해 아래정보를 입력해주세요.</h1>
<!-- 주석처리 되어있는 부분 다시 해제 -->
<div class="profile_cont phone_cont">
<h2 class="p_title">휴대폰 인증</h2>
<div class="p_list_item p_border_box">
<div class="p_input_box">
<input type="number" id="phone" name="phone" value="${Session.rm_member['phone']!}" placeholder="'-'없이 번호만 입력" >
</div>
<button type="button" id="id_phone_num" onclick="javascript:ajax_send_sms();" class="btns blue_btn">인증요청</button>
</div>
<div class="p_list_item p_border_box">
<div class="p_input_box">
<input type="number" id="check_num" name="check_num" placeholder="인증번호 입력">
<span id="id_limit_time" class="timer">02:59</span>
</div>
<button type="button" id="id_check_num" onclick="javascript:ajax_confirm_sms();" class="btns grey_btn">인증확인</button>
</div>
</div>
<div class="m_set_account_btn"><button type="button" onclick= "check_onclick();" class="btns blue_btn join_member_btn">확인<span class="hidden icon"></span></button></div>
</div>
<div class="p_list_item p_border_box">
<div class="p_input_box">
<input type="number" id="check_num" name="check_num" placeholder="인증번호 입력">
<span id="id_limit_time" class="timer">02:59</span>
</div>
<button type="button" id="id_check_num" onclick="javascript:ajax_confirm_sms();" class="btns grey_btn">인증확인</button>
</div>
</div>
<div class="m_set_account_btn"><button type="button" onclick= "check_onclick();" class="btns blue_btn join_member_btn">확인<span class="hidden icon"></span></button></div>
</div>
</main>
</main>
</form>
</div>
</body>
</div>
</body>
<script>
@ -49,9 +59,9 @@
var timer_check;
start_timer = function() {
stop_timer();
timer_check = setInterval(function() {
stop_timer();
timer_check = setInterval(function() {
if(s_time <= 0){
stop_timer();
@ -59,21 +69,21 @@
Swal.fire({ text: "다시 인증해주시기 바랍니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
}else{
--s_time;
var min = parseInt((s_time%3600)/60);
var sec = s_time%60;
if(sec > -1){
var remain_time = min + ":" + (sec < 10 ? "0" + sec : sec);
var remain_time = min + ":" + (sec < 10 ? "0" + sec : sec);
console.log('min:' + min + ' sec:' + sec + ' remain_time:' + remain_time);
$('#id_limit_time').text(remain_time);
}
console.log('min:' + min + ' sec:' + sec + ' remain_time:' + remain_time);
$('#id_limit_time').text(remain_time);
}
}
}, 1000);
};
stop_timer = function(){
stop_timer = function(){
clearInterval(timer_check);
s_time = 180;
is_loading = false;
@ -87,53 +97,53 @@
if(phone_num == ''){
Swal.fire({ text: "휴대폰 번호를 입력해주세요.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
stop_timer();
}else{
$.ajax({
url:'${URL_ROOT}/api/sms/send_sms.do?1=1',
type:'post',
data: {
"pt": 0
,"is_test":"N"
,"phone_num": phone_num
,"sms_use_cd_no": "SMS_USE_CODE_JOIN"
},
dataType:'json',
error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
stop_timer();
},
success:function(result){
var RESULT = result.RESULT;
var RESULT_MSG = result.RESULT_MSG;
var s_no = result.s_no;
if(result.RESULT_CODE == "401"){
alert(result.sms_msg);
stop_timer();
url:'${URL_ROOT}/api/sms/send_sms.do?1=1',
type:'post',
data: {
"pt": 0
,"is_test":"N"
,"phone_num": phone_num
,"sms_use_cd_no": "SMS_USE_CODE_JOIN"
},
dataType:'json',
error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
stop_timer();
},
success:function(result){
var RESULT = result.RESULT;
var RESULT_MSG = result.RESULT_MSG;
var s_no = result.s_no;
if(result.RESULT_CODE == "401"){
alert(result.sms_msg);
stop_timer();
}else{
if(s_no != ''){
$('#s_no').val(s_no);
start_timer();
Swal.fire({ text: "발송되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
}else{
if(s_no != ''){
$('#s_no').val(s_no);
start_timer();
Swal.fire({ text: "발송되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
}else{
alert("code:s_no is null");
stop_timer();
}
alert("code:s_no is null");
stop_timer();
}
is_loading = false;
}
}
is_loading = false;
}
});
}
}
}
}
function ajax_confirm_sms() {
if (is_loading == false) {
is_loading = true;
@ -147,52 +157,52 @@
is_loading = false;
}else{
$.ajax({
url:'${URL_ROOT}/api/sms/confirm_sms.do?1=1',
type:'post',
data: {
"pt": 0
,"is_test":"N"
,"s_no": s_no
,"phone_num": phone_num
,"check_num": check_num
},
dataType:'json',
error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
stop_timer();
},
success:function(result){
console.log(result);
var RESULT = result.RESULT;
var RESULT_MSG = result.RESULT_MSG;
if(result.check_status == 'Y'){
stop_timer();
Swal.fire({ text: "인증되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
}else{
Swal.fire({ text: "인증에 실패했습니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
is_loading = false;
}
$('#check_status').val(result.check_status);
}
url:'${URL_ROOT}/api/sms/confirm_sms.do?1=1',
type:'post',
data: {
"pt": 0
,"is_test":"N"
,"s_no": s_no
,"phone_num": phone_num
,"check_num": check_num
},
dataType:'json',
error:function(request,status,error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
stop_timer();
},
success:function(result){
console.log(result);
var RESULT = result.RESULT;
var RESULT_MSG = result.RESULT_MSG;
if(result.check_status == 'Y'){
stop_timer();
Swal.fire({ text: "인증되었습니다.", icon: 'success', showConfirmButton: false, timer: 1500 }); // success
}else{
Swal.fire({ text: "인증에 실패했습니다.", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
is_loading = false;
}
$('#check_status').val(result.check_status);
}
});
}
}
}
</script>
<script>
/*정규식*/
var regPh = /^[0-9]+$/;
var regPw= /^[A-Za-z0-9!\*@#$%^&+=]{6,12}$/;
/* 밸리데이션 검사*/
function check_onclick(){
theForm=document.frmJoinMember;
if(theForm.phone.value==""){
if(theForm.phone.value==""){
Swal.fire({ text: "핸드폰번호를 입력해주세요", icon: 'warning', showConfirmButton: false, timer: 1500 }); // success
theForm.phone.focus();
}else if(!regPh.test($("#phone").val())){
@ -204,12 +214,12 @@
} else{
theForm.submit();
}
}
}
</script>
<script>
$(document).ready(function(){
});
</script>
<#include "/m/include/index_bottom.ftl">
<#include "/m/include/index_bottom.ftl">

@ -1,13 +1,24 @@
<#include "/m/include/index_top.ftl">
<head>
<link href="../css/style.css?1" rel="stylesheet" type="text/css" >
</head>
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">회원가입 2단계 - 정보입력</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!--회원가입 상자(가입확인, 정보입력, 가입 완료) -->
<div class="main_cont_status">
<div>
<p>가입 확인</p>
</div>
<div id="active">
<p>정보 입력</p>
</div>
<div>
<p>가입 완료</p>
</div>
</div>
<form id="frmJoinMember" name="frmJoinMember" method="post" action="accountJoin.do" enctype="multipart/form-data">
<input type="hidden" id="s_no" name="s_no" value="" />
<input type="hidden" id="check_status" name="check_status" value="" />

@ -1,13 +1,23 @@
<#include "/m/include/index_top.ftl">
<head>
<link href="../css/style.css?1" rel="stylesheet" type="text/css" >
</head>
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">회원가입 3단계-동기화-가입완료</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!--회원가입 상자(가입확인, 정보입력, 가입 완료) -->
<div class="main_cont_status">
<div>
<p>가입 확인</p>
</div>
<div>
<p>정보 입력</p>
</div>
<div id="active">
<p>가입 완료</p>
</div>
</div>
<form id="frmJoinMember" name="frmJoinMember" method="post" action="authComplete.do" enctype="multipart/form-data">
<main class="m_join_member">

@ -1,12 +1,27 @@
<#include "/m/include/index_top.ftl">
<head>
<link href="../css/style.css?1" rel="stylesheet" type="text/css" >
</head>
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">회원가입 4단계-인증코드확인-가입완료</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!--회원가입 상자(가입확인, 정보입력, 가입 완료) -->
<div class="main_cont_status">
<div>
<p>가입 확인</p>
</div>
<div>
<p>정보 입력</p>
</div>
<div id="active">
<p>가입 완료</p>
</div>
</div>
<#-- <header class="header_wrapper">-->
<#-- <a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>-->
<#-- <h1 class="header_title">회원가입 4단계-인증코드확인-가입완료</h1>-->
<#-- <a href="#" class="side_Rbtn hidden"></a>-->
<#-- </header>-->
<form id="frmJoinMember" name="frmJoinMember" method="post" action="authComplete.do" enctype="multipart/form-data">

@ -1,13 +1,23 @@
<#include "/m/include/index_top.ftl">
<head>
<link href="../css/style.css?1" rel="stylesheet" type="text/css" >
</head>
<body class="bg_setting">
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">회원가입 3단계-가입완료</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<!--회원가입 상자(가입확인, 정보입력, 가입 완료) -->
<div class="main_cont_status">
<div>
<p>가입 확인</p>
</div>
<div>
<p>정보 입력</p>
</div>
<div id="active">
<p>가입 완료</p>
</div>
</div>
<form id="frmJoinMember" name="frmJoinMember" method="post" action="authComplete.do" enctype="multipart/form-data">
<input type="hidden" id="check_status" name="check_status" value="" />

@ -1,97 +1,94 @@
<!DOCTYPE html>
<html lang="ko">
<#include "/m/include/index_top.ftl">
<body><!--grey_bg / blue_w_bg /blue_g_bg-->
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:back.return_url()" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">음악 설정</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<main class="m_set_lighting_time">
<header>
<h2>
음악 설정
</h2>
</header>
<div class="cont">
<form id="frmUpdate" name="frmUpdate" method="post" ecntype="multipart/form-data" onsubmit="return false">
<input type="hidden" id="delList" name="delList" value="">
<div class="set_list_wrap">
<#list model['music_list'] as item>
<div name="list_item" class="list_item item_order">
<label class="radio-label">${item['music_name']!}</label>
<input type="hidden" name="music_list" value="${URL_ROOT}/music/${item['music_file_path']!}">
<input type="button" key="${item['idx']!}" onclick="fncRemove(this)" value="삭제">
<link rel="stylesheet" href="../css/style.css">
<body>
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:history.back();" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">음악 설정</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<main class="m_set_lighting_time">
<div class="cont">
<form id="frmUpdate" name="frmUpdate" method="post" ecntype="multipart/form-data" onsubmit="return false">
<input type="hidden" id="delList" name="delList" value="">
<div class="set_list_wrap">
<#list model['music_list'] as item>
<div class="list_item item_order">
<input type="hidden" name="music_list" value="${URL_ROOT}/music/${item['music_file_path']!}">
<div>${item['music_name']!}</div>
<div class="order_button">
<div key="${item['idx']!}" onclick="fncRemove(this)">
<img src="../img/setting/delete_ico.png"/>
</div>
</div>
</#list>
</div>
<input type="button" value="추가" onclick="fncAddItem()">
<br/>
<br/>
<audio controls id="audio_control" onended="fncNextPlay()"></audio>
<button type="button" onclick="fncSave()" id="" name="" class="btns blue_btn">저장</button>
</form>
</div>
<#include "/m/include/index_bottom_info.ftl">
</main>
</div>
<script>
var delList = "";
var music_idx = 0;
$("#audio_control").attr("src", $("input[name='music_list']").eq(0).val());
function fncNextPlay() {
$("#audio_control").get(0).src = $("input[name='music_list']").eq(music_idx).val();
$("#audio_control").get(0).play();
if( music_idx >= $("input[name='music_list']").length-1) {
music_idx = 0;
} else {
music_idx++;
}
</div>
</#list>
</div>
<div class="item_add" onclick="fncAddItem()">
<!-- <input id="file" type = "file" name="file" accept = ".mp3"> -->
<img src="../img/setting/add_circle_ico.png" />
</div>
<audio src="/m/" controls id="audio_control" style="width: 100%" onended="fncNextPlay()"></audio>
<div class="m_set_description">
*음악은 랜덤으로 재생됩니다.<br>
*원하는 음악을 추가하실 수 있습니다. (최대 5개 / MP3파일만 지원)<br>
*추가하신 음악은 삭제 및 수정이 가능합니다<br>
*원하지 않은 음악은 삭제 버튼을 눌러 재생 목록에서 제거할 수 있습니다<br>
</div>
<div class="m_set_account_btn"><button type="button" id="" name="" onclick="fncSave()" class="btns blue_btn">저장</button></div>
</form>
</div>
</main>
</div>
<script>
var delList = "";
var music_idx = 0;
$("#audio_control").attr("src", $("input[name='music_list']").eq(0).val());
function fncNextPlay() {
$("#audio_control").get(0).src = $("input[name='music_list']").eq(music_idx).val();
$("#audio_control").get(0).play();
if( music_idx >= $("input[name='music_list']").length-1) {
music_idx = 0;
} else {
music_idx++;
}
}
function fncSave() {
var formData = new FormData($("#frmUpdate")[0]);
var delList = $("#delList").val();
if(delList.length > 0) {
$("#delList").val( delList.substring(0, delList.length-1) );
}
function fncSave() {
var formData = new FormData($("#frmUpdate")[0]);
var delList = $("#delList").val();
$.ajax({
url: "${URL_ROOT}/m/member_env/saveMusicFile.do",
processData: false,
contentType: false,
data: formData,
type: 'POST',
async : false,
success: function(response){
Swal.fire({text: '저장 되었습니다.'}).then((result)=>{ location.reload(); })
// callback(response);
}
});
if(delList.length > 0) {
$("#delList").val( delList.substring(0, delList.length-1) );
}
$.ajax({
url: "${URL_ROOT}/m/member_env/saveMusicFile.do",
processData: false,
contentType: false,
data: formData,
type: 'POST',
async : false,
success: function(response){
Swal.fire({text: '저장 되었습니다.'}).then((result)=>{ location.reload(); })
// callback(response);
}
});
}
$(function(){
env.init()
})
function fncAddItem() {
var size = $("input[name='attachFile']").length;
if(size >=5) {
Swal.fire({text: '음악파일은 5개까지 설정 가능합니다.'});
return;
}
$(".set_list_wrap").append("<div class='list_item'>" +
"<input type='file' onchange='fn_M_my_fileSave(this);' name='file'>")
}
function fncModify(e) {
$(e).parent().find(".fileSpan").show();
@ -108,26 +105,47 @@
// 동영상 업로드 파일 DB에 저장하기
function fn_M_my_fileSave(th) {
try {
var name = $(th)[0].files[0].name;
var ext = name.split('.').pop().toLowerCase();
if($.inArray(ext, ['mp3','mp4']) == -1) {
var name = $(th)[0].files[0].name;
var ext = name.split('.').pop().toLowerCase();
if($.inArray(ext, ['mp3','mp4']) == -1) {
Swal.fire({text: '음약 파일(mp3)을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
return;
}
}
var size = $(th)[0].files[0].size;
var size2 = Number(size)/(1024*1024);
var size = $(th)[0].files[0].size;
var size2 = Number(size)/(1024*1024);
if(size2 > 7){
if(size2 > 7){
Swal.fire({text: '7M 이하 파일을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
return;
}
}
} catch (e) { console.log(e); }
}
</script>
<#include "/m/member_env/include_return_url.ftl">
function fncAddItem() {
var size = $("input[name='file']").length + $("input[name='music_list']").length;
if(size >=5) {
Swal.fire({text: '음악파일은 5개까지 설정 가능합니다.'});
return;
}
$(".set_list_wrap").append("<div class='list_item item_order'>" +
"<div><input type='file' onchange='fn_M_my_fileSave(this);' name='file'></div>" +
"<div class='order_button'>" +
"<div onclick='fncRemove(this)'>" +
"<img src='../img/setting/delete_ico.png'/>" +
"</div>" +
"</div>" +
"</div>")
}
function fncRemove(e) {
$(e).parent().parent().remove();
}
</script>
<#include "/m/member_env/include_return_url.ftl">
</body>
<#include "/m/include/index_bottom.ftl">
<#include "/m/include/index_bottom.ftl">
</html>

@ -0,0 +1,133 @@
<#include "/m/include/index_top.ftl">
<body><!--grey_bg / blue_w_bg /blue_g_bg-->
<div class="wrap">
<header class="header_wrapper">
<a href="javascript:back.return_url()" class="side_Lbtn hidden pre_btn">이전으로</a>
<h1 class="header_title">음악 설정</h1>
<a href="#" class="side_Rbtn hidden"></a>
</header>
<main class="m_set_lighting_time">
<header>
<h2>
음악 설정
</h2>
</header>
<div class="cont">
<form id="frmUpdate" name="frmUpdate" method="post" ecntype="multipart/form-data" onsubmit="return false">
<input type="hidden" id="delList" name="delList" value="">
<div class="set_list_wrap">
<#list model['music_list'] as item>
<div name="list_item" class="list_item item_order">
<label class="radio-label">${item['music_name']!}</label>
<input type="hidden" name="music_list" value="${URL_ROOT}/music/${item['music_file_path']!}">
<input type="button" key="${item['idx']!}" onclick="fncRemove(this)" value="삭제">
</div>
</#list>
</div>
<input type="button" value="추가" onclick="fncAddItem()">
<br/>
<br/>
<audio src="/m/" controls id="audio_control" onended="fncNextPlay()"></audio>
<button type="button" onclick="fncSave()" id="" name="" class="btns blue_btn">저장</button>
</form>
</div>
<#include "/m/include/index_bottom_info.ftl">
</main>
</div>
<script>
var delList = "";
var music_idx = 0;
$("#audio_control").attr("src", $("input[name='music_list']").eq(0).val());
function fncNextPlay() {
$("#audio_control").get(0).src = $("input[name='music_list']").eq(music_idx).val();
$("#audio_control").get(0).play();
if( music_idx >= $("input[name='music_list']").length-1) {
music_idx = 0;
} else {
music_idx++;
}
}
function fncSave() {
var formData = new FormData($("#frmUpdate")[0]);
var delList = $("#delList").val();
if(delList.length > 0) {
$("#delList").val( delList.substring(0, delList.length-1) );
}
$.ajax({
url: "${URL_ROOT}/m/member_env/saveMusicFile.do",
processData: false,
contentType: false,
data: formData,
type: 'POST',
async : false,
success: function(response){
Swal.fire({text: '저장 되었습니다.'}).then((result)=>{ location.reload(); })
// callback(response);
}
});
}
$(function(){
env.init()
})
function fncAddItem() {
var size = $("input[name='attachFile']").length;
if(size >=5) {
Swal.fire({text: '음악파일은 5개까지 설정 가능합니다.'});
return;
}
$(".set_list_wrap").append("<div class='list_item'>" +
"<input type='file' onchange='fn_M_my_fileSave(this);' name='file'>")
}
function fncModify(e) {
$(e).parent().find(".fileSpan").show();
}
function fncRemove(e) {
delList += $(e).attr("key") + ",";
$(e).parent().remove();
$("#delList").val(delList);
}
// 동영상 업로드 파일 DB에 저장하기
function fn_M_my_fileSave(th) {
try {
var name = $(th)[0].files[0].name;
var ext = name.split('.').pop().toLowerCase();
if($.inArray(ext, ['mp3','mp4']) == -1) {
Swal.fire({text: '음약 파일(mp3)을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
return;
}
var size = $(th)[0].files[0].size;
var size2 = Number(size)/(1024*1024);
if(size2 > 7){
Swal.fire({text: '7M 이하 파일을 업로드 해 주세요.'}).then((result)=>{ $(th).parent().remove(); })
return;
}
} catch (e) { console.log(e); }
}
</script>
<#include "/m/member_env/include_return_url.ftl">
</body>
<#include "/m/include/index_bottom.ftl">

@ -28,6 +28,10 @@ delete from tbl_bf_family_baby;
delete from tbl_bf_family;
delete from tbl_member;
-- 특정회원 삭제
delete from tbl_member_confirm where member_id = '1646068188973';
delete from tbl_member where member_id = '1646068188973';
delete from tbl_music where member_id = '1646068188973';
-- 메모리 - 일간분석
SELECT

Loading…
Cancel
Save