첨부파일 탭으로 나누기 질문입니다!

안녕하세요
항상 질문 검색만하다가, 처음으로 글을 올려봅니다 ㅜ
지금 제가 구현하려고하는게
갤러리 게시글 상세페이지에 첨부파일들을 TAB1, 2, 3로 나누어서 노출 시키려고합니다.
우선 첨부파일 3장은 고정으로
1,2번째는 갤러리 게시판 목록에서 마우스 on/off 사진으로사용하고요
3번째는 상세페이지의 프로필 사진으로 사용합니다.
4번째 부터는 TAB메뉴에 노출될 이미지들인데
각각의 TAB은 첨부파일 50개로 제한뒀구요
그래서 총
문제는 ㅠ
게시글 업로드 할때 예를 들어
Magazine 탭의 첨부파일을 하나더 추가해서
총 2개의 파일을 올리고 난 후 그 게시글을 수정할 때 또한 form이 위와 같았으면 하는데
현재는 수정 페이지에서 바로 위 캡쳐화면 처럼 나옵니다
수정할때에 for문을 어떻게 작성해야될까요?ㅠ
또 상세페이지(view페이지)에서는 어떻게 분기처리하여 tab메뉴를 나눠야할지도 막막합니다
제 질문의 요지가 이해가 가신다면 답변 부탁드립니다!ㅠㅠ
아래는 테스트 URL입니다.
http://daisydam.cafe24.com/g5/bbs/board.php?bo_table=gall&page=">http://daisydam.cafe24.com/g5/bbs/board.php?bo_table=gall&page=
소스는 아래와 같습니다 ㅠㅠ
감사합니다
write.skin.php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('', 0);
?>
// 글자수 제한
var char_min = parseInt(); // 최소
var char_max = parseInt(); // 최대
check_byte("wr_content", "char_count");
$(function() {
$("#wr_content").on("keyup", function() {
check_byte("wr_content", "char_count");
});
});
fwrite.wr_content.value = "내용없음";
function html_auto_br(obj)
{
if (obj.checked) {
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을 태그로 변환하는 기능입니다.");
if (result)
obj.value = "html2";
else
obj.value = "html1";
}
else
obj.value = "";
}
function fwrite_submit(f)
{
var subject = "";
var content = "";
$.ajax({
url: g5_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,
"content": f.wr_content.value
},
dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
subject = data.subject;
content = data.content;
}
});
if (subject) {
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
f.wr_subject.focus();
return false;
}
if (content) {
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
if (typeof(ed_wr_content) != "undefined")
ed_wr_content.returnFalse();
else
f.wr_content.focus();
return false;
}
if (document.getElementById("char_count")) {
if (char_min > 0 || char_max > 0) {
var cnt = parseInt(check_byte("wr_content", "char_count"));
if (char_min > 0 && char_min > cnt) {
alert("내용은 "+char_min+"글자 이상 쓰셔야 합니다.");
return false;
}
else if (char_max > 0 && char_max < cnt) {
alert("내용은 "+char_max+"글자 이하로 쓰셔야 합니다.");
return false;
}
}
}
document.getElementById("btn_submit").disabled = "disabled";
return true;
}
function addFileInput(startIdx, appendArea){
var fileLimitLeng = 50;
startIdx = parseInt(startIdx);
var flen = $("input[name='bf_file[]']").length;
var flen2 = $(".tbl_frm01 table:first-child").find('.'+appendArea+' input[name="bf_file[]"]').length;
//var tabMenuTit = appendArea.replace('Area', '');
//tabMenuTit = tabMenuTit.substring(0, 1).toUpperCase() + tabMenuTit.substring(1, tabMenuTit.length);
var tabMenuTit = '';
if(appendArea == 'magazineArea'){
tabMenuTit = 'Magazine';
}else if(appendArea == 'showArea'){
tabMenuTit = 'Show';
}else if(appendArea == 'tvArea'){
tabMenuTit = 'TV/CF';
}
//var upload_count = 53;
//var addedFlen = flen-2;
var upload_count = fileLimitLeng;
if (upload_count && flen2 >= upload_count)
{
alert("탭의 첨부파일은 각 "+upload_count+"개 까지만 파일 업로드가 가능합니다.");
return;
}
var appendHtml = "";
appendHtml += "
appendHtml += "
appendHtml += "
appendHtml += " ";
appendHtml += " ";
appendHtml += "
appendHtml += "
//$(".tbl_frm01 table:first-child").append(appendHtml);
$(".tbl_frm01 table:first-child").find('.'+appendArea).eq(flen2-1).after(appendHtml);
}
$(document).ready(function(){
// 첨부파일 추가.
$('.tbl_frm01 table .fwzadd').live('click',(function(){
if($(this).hasClass('btnMagazine')){
addFileInput("=$startIndex?>", 'magazineArea');
}else if($(this).hasClass('btnShow')){
addFileInput("=$startIndex?>", 'showArea');
}else if($(this).hasClass('btnTv')){
addFileInput("=$startIndex?>", 'tvArea');
}
var flen = $("input[name='bf_file[]']").length;
//$('input[name="wr_13"]').val(flen);
//alert(flen);
}));
// 첨부파일 삭제.
$('.tbl_frm01 table .fwzdel').live('click',(function(){
$(this).parents("tr:first").remove();
if($(this).parents('tr').hasClass('magazineArea')){
$('.magazineArea .fileNo').each(function(i){
$(this).text('Magazine 탭 - 파일 '+(i+1));
});
}else if($(this).parents('tr').hasClass('showArea')){
$('.showArea .fileNo').each(function(i){
$(this).text('Show 탭 - 파일 '+(i+1));
});
}else if($(this).parents('tr').hasClass('tvArea')){
$('.tvArea .fileNo').each(function(i){
$(this).text('TV/CF 탭 - 파일 '+(i+1));
});
}
var flen = $("input[name='bf_file[]']").length;
//$('input[name="wr_13"]').val(flen);
//alert(flen);
/*
var flen = $('.fileNo').length;
$(this).parents("tr:first").remove();
$('.fileNo').each(function(i){
$(this).text('파일 '+(i+1));
});
*/
}));
});
답변 1개
그냥 배열 을 만들어서 하는 것으로 해야
그런데 구지 저러게 할필요가있나요?
저러게 한다면 페이지의 로딩 속도와 DB 검색 부분에서 많은 문제점이 발생할꺼라고보는데,,
또한 어떤 서버를 쓰시는 지모르게지만
서버회사에서 수정 페이지나 입력 페이지에 서
카운트 제한이 걸려서 안될껀데
단독을 쓴다면,,야, 상관없게지만...
지금 영카트 상품 등록페이지도 옵션 조금만 많아지면 카운트 제안이 걸리느데,,
또 어떤 이미지나 어떤 파일 인지 모르게지만 한번 에 업로드하는 용량 제안 을 안하신다면 흠,,
주제넘는 걱정 이라면죄성합니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
어떤방식을 사용하는게 좋을지 좋은 아이디어 있으시면 공유 부탁드립니다!