다시 한번 질문 드려볼께요...

다시 한번 질문 드려볼께요...

QA

다시 한번 질문 드려볼께요...

본문

게시판 리스트에서 수정이라기보단 input type='button' 또는 <a>태크를 통해 클릭시

게시판 DB TABLE 여분 필드에 추가적으로 업데이트 시키고 싶습니다.

현재 여분 필드는 wr_30까지 있구요...

 

예를 들어, "시작"이라는 링크or버튼 클릭시 wr_25에는 시작이라는 text와

wr_26에는 현재 년월일시간초까지 저장하고,

"종료"라는 링크 or 버튼 클릭시 wr_25에는 종료라는 text와

wr_27에는 현재 년월일 시간 초까지

bbs에 apply.php라는 파일의 sql_query(update~~~)를 통해 DB에 업데이트하려는게 목적이거든요

그런데 list.skin.php가 for문으로 돌려서 $list[$i]['~~~']식으로 되어있다보니깐...ajax이든 javascript이든

소스를 짜봐도 잘 안되네요

 

그래서 참고하실 수 있도록 리스트 페이지와 bbs/apply.php 내용을 올려보겠습니다.ㅠㅠ 도와주세요..

이러다간 2주가 흘러가고 압박은 들어오고 죽겠습니다.ㅠㅠ

 

---- list.skin.php ----

 

<td>

  <script type='text/javascript'>
  $(document).ready(function() {
  //거래처 등록
   $(document).on("click","span.cam_start",function(){

    var bo_table = '<?php echo $bo_table?>';
    var sca = '<?php echo $sca?>';

    var wr_id = $(this).attr('id');
    var wr_1 = $(this).attr('id');
    var wr_2 = $(this).attr('id');
    var wr_4 = $(this).attr('id');
    var wr_subject = $(this).attr('id');
    
    alert(wr_id);
   
    if(g5_is_member == false) {
     alert("권한이 없습니다!");
     return false;
    }
         
          $.ajax({
              type: "POST",
              url: "./apply.skin.php?action=cam_update",
              data: 'bo_table='+bo_table+'&wr_id='+wr_id+'&wr_1='+wr_id+'&wr_2='+wr_2+'&wr_4='+wr_4+'&wr_subject='+wr_subject+'&sca='+sca,
              dataType: "json",
              //cache: false,
                      async: false,
              success: function() {
        document.location.reload();
       }
    });
   });
  );

  /*
    function cam_start(ad) {
     var bo_table = '<?=$bo_table?>';
     var sca = '<?=$sca?>';  
     
     var ad = new array[];
     for(i=0; i<ad.length; i++) {
      var wr_id = wr_id.ad.value[i];
      var wr_1 = wr_1.ad.value[i];
      var wr_2 = wr_2.ad.value[i];
      var wr_4 = wr_4.ad.value[i];
      var wr_subject = wr_subject.ad.value[i];
     }
     f.action = './apply.php?bo_table='+bo_table+'&wr_id='+wr_id+'&wr_1='+wr_1+'&wr_2='+wr_2+'&wr_4='+wr_4+'&wr_subject='+wr_subject+'&sca='+sca;   
     f.submit();
    }
  */
  </script>
   <span class="btn s" id="cam_start">시작</span> <input type='button' class="btn " name="end" value='종료' onClick='cam_end()'>
   </td>

 

 

---- bbs/apply.php ----

주석은 자바스크립트로 받아보려고 한겁니다.

 

<?php
include_once('./_common.php');

switch($_GET['action'])
{
 case 'cam_update':cam_update(); break;
 //case 'ac_add':ac_addEvent(); break;
 //case 'ac_del':ac_delEvent(); break;
}

function cam_update()
{
 global $g5; 

 $bo_table = $_POST['bo_table'];
 $subject = $_POST['wr_subject'];
 $wr_id = $_POST['wr_id'];
 $wr_1 = $_POST['wr_1'];
 $wr_2 = $_POST['wr_2'];
 $wr_4 = $_POST['wr_4'];
 $sca = $_POST['sca'];
 $wr_25 = "시작";
 $wr_26 = date("Y-m-d H:i:s");

 //sql_query(" update $g5[board_table] set $wr_25 = '$wr_25', $wr_26 = '$wr_26' where bo_table = '$bo_table' ");

 echo json_encode(array('success'=>true));;
}

/*
$subject = $_POST['wr_subject'];
$wr_id = $_POST['wr_id'];
$wr_1 = $_POST['wr_1'];
$wr_2 = $_POST['wr_2'];
$wr_4 = $_POST['wr_4'];
$sca = $_POST['sca'];

/*
$row2 = sql_fetch(" select * from {$write_table} where wr_subject = '{$subject}' ");
sql_query($row2);


 if($subject == $row2['subject'] && $wr_2 == $row['wr_2']) {
  $wr_25 = "작업시작";
  $wr_26 = date("Y-m-d H:i:s");
 }
 $sql = " update {$write_table}
                set  wr_25 = '$wr_25',  
                     wr_26 = '{$wr_26}'
              where wr_1='$wr_1' and wr_2='$wr_2' and sca='$sca' ";

 
 sql_query($sql);

*/
 alert($wr_id."/".$wr_1."/".$wr_2."/".$wr_4."/".$subject."/".$sca);
 //goto_url('./board.php?bo_table='.$bo_table.'&sca='.$sca);

?> 

이 질문에 댓글 쓰기 :

답변 3

ajax 클릭 처리 부분을 이런식으로 바꿔서 각 변수를 불러와야 하지 않을까 싶은데요????

 

html 부분  

<input name="" type="text" onclick="cmaUpdate('<?php echo $list[$i]['wr_1']?>','<?php echo $list[$i]['wr_2']?>','<?php echo $list[$i]['wr_3']?>')" > 

 

jquery 부분 

var cmaUpdate = function(wr_num,wr_id,wr_1,wr_2,wr_3){ //이곳에 필요한 변수들을 전부 불러옵니다
    $.ajax({
        type:"post",
        url:"./apply.skin.php",
        data:
        {  //상단에 입력된 값을 대입
            action : 'cam_update',
            bo_table : g4_bo_table,
            wr_num : wr_num,
            wr_id : wr_id,
            wr_1 : wr_1,
            wr_2 : wr_2
        },
        dataType:"html",
        success:function(res){
            if(res == 1)
                alert("저장");
            else
                alert("실패");
        }
    });
}

 

php 부분

마지막 저장이후 카운트를 센다음 숫자가 존재한다면 echo(1) 그렇지 않다면 빈값을 넘겨주면 됩니다 

apply.skin.php 이페이지에서요
값을 update하시고 다시 한번 셀렉트문으로 검색을해서 검색값의 카운트를 세서
값이 있으면 echo 1;
값이 없으면 echo 0; 이런식으로 넘기는 거죠

일반적으로 월별 출석부에서 많이 볼 수 있는 패턴입니다. 

저도 월별 출석을 한페이지에서 처리할 때 사용하고 있어서;;

 

일단 해당 기능은 <div id="1234"><a ~~ 또는 버튼> </div> 형태로 하셔서

클릭이 일어날때 jquery에서 해당 id값을 찾아서 서버측에 ajax로 넘겨주면 됩니다. 

그냥 현재 작업 중이신 게시판 리스트를 보여 주시는 게 더 낫지 않을까요?

정 작업 중이신 페이지를 공개하기 힘드시면 게시판 리스트 부분만 소스 보기로 해서 보여 주시는 게 좋을 것 같습니다.

html, css, js의 경우는 페이지 로딩이 완전히 일어난 상태에서 보는 게 가장 정확합니다. 

답변을 작성하시기 전에 로그인 해주세요.
전체 38
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT