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

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

QA

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

답변 2

본문

공지사항 글이 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로 결과값 뿌려줌

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로