write.skin.php에서 버튼으로 다른 지정 게시글의 여분필드 변경하고 싶습니다. (ajax)

write.skin.php에서 버튼으로 다른 지정 게시글의 여분필드 변경하고 싶습니다. (ajax)

QA

write.skin.php에서 버튼으로 다른 지정 게시글의 여분필드 변경하고 싶습니다. (ajax)

본문

공지사항 글이 1개 있구요, 거기에서 여분필드 1개를 숫자배열로 받아서 쓰려고 합니다.

 

그런데 write.skin.php 페이지에서 <글을 굳이 쓰지 않더라도> 이 배열 내의 숫자를 증가, 감소시킨 걸 저장해 접속자들의 전체적인 항목 선호도를 좀 알아보고 싶어요.

 

ajax라는 걸 알았고, 어느정도 코드도 짜봤습니다만 공부가 부족해서인지 한참 더 가야할 것 같습니다..

 

배열을 변경할 때 ajax로 통신해야 하는데 그걸 어찌해야할 줄 몰라서 안절부절하고 있습니다

 

혹시 도움을 받을 수 있을까요?

 


$totalLike = "select count(*) cnt from 게시판이름 where wr_id = '공지사항글아이디' and wr_7 = 'wr_7'";
$row = sql_fetch($totalHeart);
$like = @explode("|",$row);

 

이렇게 쿼리로 다른 게시글의 여분필드 받아와서 배열로 만드는 것까진 했습니다.

 


<div class='likes'>
<input id='like1' type='button'>1번 좋아요</input>
<input id='like2' type='button'>2번 좋아요</input>
<input id='like3' type='button'>3번 좋아요</input>
</div>

 

항목들의 좋아요 버튼은 이렇게 만들었고요

 


$(document).on('click', 'input[id*=like]', function(){
$.ajax({
  type: 'post',
  url: '무슨 주소를 넣어야할지 모르겠습니다...',
  data: {
   데이터는 이미 위에서 array로 받아왔는데 어떻게 해야하나요?
  },
  success: function (펑션 이름) 
  {
     여기에서 array의 해당 번째의 항목을 +1해주면 될 것 같습니다...
  }
  });
});

 

혹시 이렇게 진행해나가면 가능할까요?ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

내용은 복잡해서 잘이해가 가지 않지만

 

$(document).on('click', 'input[id*=like]', function(){
$.ajax({
  type: 'post',
param:'send=mbid&like=1',
  url: '받는쪽.php?param 도 같이 보내요',
  data: {
   php 에서 처리된 내용을 
if(data) {
    값이 있으면 처리
    여기서 array +1 해주세요.
}else{
    없으면 처리 못함
}
  },
  success: function (펑션 이름) 
  {
     여기에서 array의 해당 번째의 항목을 +1해주면 될 것 같습니다...
  }
  });
});

 

위 흐름처럼 작업하시면 됩니다.

한번 해보시면 쉽게 이해하실것 같습니다.

 

다른 게시글의 여분필드를 다른 파일에서 바로바로 수정할 수 있도록 하는 겁니다.. 제가 잘 이해 안 되게 썼나보군요 ㅠㅠ

param은 제 임의대로 설정해도 되는 건가요?

그리고 받는 쪽 url은 뭔가요? 그러니까 제가 설정한 php가 돌아갈 파일을 새로 생성해 파라미터를 전송하라는 건가요?ㅠ 새로운 파일을 생성해야하는지..

새벽 늦게까지... 감사합니다 ㅠㅠ

혹시 내놓고자 하는 결과물이 어떻게 되시나요??? 죄송하지만 저도 이해가 잘 안가네요 ㅠㅠ

공지사항에 투표 목록이 몇 개 있습니다. 그걸 여분필드 배열로 받아서 <input type=number readonly>로 꾸렸어요!

그 투표를 회원들이 해당 게시판에 글쓰러 들어갔을 때에만(write.skin.php 파일) 투표할 수 있게 하려고 합니다ㅠㅠ

클릭 한 번으로 공지사항 여분필드 해당 투표 항목(해당 여분필드 배열 : <input type=number readonly>)을 value+1로 수정해주는 시스템을 구상했습니다.

복잡하죠...ㅠㅠ 단순하게 글쓰기 창에서만 투표할 수 있는 것, 페**북의 '좋아요' 개념이라고 생각하시면 될 듯해요ㅠㅠ

일단 1번 2번 3번 좋아요 갯수를 DB에 저장해야하니 테이블을 만들거나 기존의 테이블중에 컬럼을 추가하시고

$(document).on('click', 'input[id*=like]', function(){
$.ajax({
  type: 'post',
  url: '쿼리문이 실행될 ajax.php 파일의 주소 (update문)',
  data: { like : (좋아요값)
  },
  success: function (data){
  //ajax에 접속 후 성공하면 실행시킬 구문 예를들어 ajax에서 insert 후 select문으로 결과를 조회해온다면
  $('.likes').append(data);
  }
  });
});

ajax.php 에서는
$like = $_POST[like];
$sql = "update set ...."
sql_query($sql); //업데이트문 실행

//업데이트 실행 후 결과값 조회해서 echo로 결과값 뿌려줌

저라면 이렇게 만들것 같은데 참고하시면 될것 같습니다.

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

회원로그인

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