write.skin.php에서 버튼으로 다른 지정 게시글의 여분필드 변경하고 싶습니다. (ajax) 채택완료
공지사항 글이 1개 있구요, 거기에서 여분필드 1개를 숫자배열로 받아서 쓰려고 합니다.
그런데 write.skin.php 페이지에서 <글을 굳이 쓰지 않더라도> 이 배열 내의 숫자를 증가, 감소시킨 걸 저장해 접속자들의 전체적인 항목 선호도를 좀 알아보고 싶어요.
ajax라는 걸 알았고, 어느정도 코드도 짜봤습니다만 공부가 부족해서인지 한참 더 가야할 것 같습니다..
배열을 변경할 때 ajax로 통신해야 하는데 그걸 어찌해야할 줄 몰라서 안절부절하고 있습니다
혹시 도움을 받을 수 있을까요?
</p>
<p>$totalLike = "select count(*) cnt from 게시판이름 where wr_id = '공지사항글아이디' and wr_7 = 'wr_7'";
$row = sql_fetch($totalHeart);
$like = @explode("|",$row);</p>
<p>
이렇게 쿼리로 다른 게시글의 여분필드 받아와서 배열로 만드는 것까진 했습니다.
</p>
<p><div class='likes'></p>
<p><input id='like1' type='button'>1번 좋아요</input></p>
<p><input id='like2' type='button'>2번 좋아요</input></p>
<p><input id='like3' type='button'>3번 좋아요</input></p>
<p></div></p>
<p>
항목들의 좋아요 버튼은 이렇게 만들었고요
</p>
<p>$(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해주면 될 것 같습니다... } }); });
위 흐름처럼 작업하시면 됩니다.
한번 해보시면 쉽게 이해하실것 같습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 2개
그 투표를 회원들이 해당 게시판에 글쓰러 들어갔을 때에만(write.skin.php 파일) 투표할 수 있게 하려고 합니다ㅠㅠ
클릭 한 번으로 공지사항 여분필드 해당 투표 항목(해당 여분필드 배열 : <input type=number readonly>)을 value+1로 수정해주는 시스템을 구상했습니다.
복잡하죠...ㅠㅠ 단순하게 글쓰기 창에서만 투표할 수 있는 것, 페**북의 '좋아요' 개념이라고 생각하시면 될 듯해요ㅠㅠ
$(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로 결과값 뿌려줌
저라면 이렇게 만들것 같은데 참고하시면 될것 같습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
param은 제 임의대로 설정해도 되는 건가요?
그리고 받는 쪽 url은 뭔가요? 그러니까 제가 설정한 php가 돌아갈 파일을 새로 생성해 파라미터를 전송하라는 건가요?ㅠ 새로운 파일을 생성해야하는지..
새벽 늦게까지... 감사합니다 ㅠㅠ