게시판 리스트에서 수정이라기보단 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개 / 댓글 5개
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) 그렇지 않다면 빈값을 넘겨주면 됩니다
답변에 대한 댓글 3개
해보니깐 실패만 뜨길래요
값을 update하시고 다시 한번 셀렉트문으로 검색을해서 검색값의 카운트를 세서
값이 있으면 echo 1;
값이 없으면 echo 0; 이런식으로 넘기는 거죠
그냥 현재 작업 중이신 게시판 리스트를 보여 주시는 게 더 낫지 않을까요?
정 작업 중이신 페이지를 공개하기 힘드시면 게시판 리스트 부분만 소스 보기로 해서 보여 주시는 게 좋을 것 같습니다.
html, css, js의 경우는 페이지 로딩이 완전히 일어난 상태에서 보는 게 가장 정확합니다.
답변에 대한 댓글 1개
일반적으로 월별 출석부에서 많이 볼 수 있는 패턴입니다.
저도 월별 출석을 한페이지에서 처리할 때 사용하고 있어서;;
일단 해당 기능은 <div id="1234"><a ~~ 또는 버튼> </div> 형태로 하셔서
클릭이 일어날때 jquery에서 해당 id값을 찾아서 서버측에 ajax로 넘겨주면 됩니다.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
알려주신데로 해보겠습니다.