테스트 사이트 - 개발 중인 베타 버전입니다

ajax 궁금한게 있습니다. 채택완료

머시기거시기 5년 전 조회 3,376

게시글에서 구찬아님의 스킨보니 ajax로 wr_1을 변경하는건데


            <li onclick="updo_wr_1('<?=$view['wr_id']?>','-1','<?=$bo_table?>')">기각</li>
            <li onclick="updo_wr_1('<?=$view['wr_id']?>','1','<?=$bo_table?>')">채택</li>


<script>
        function updo_wr_1(wr_id,wr_1,bo_table) {

        //alert(wr_1);

        $.ajax({
            url: g5_bbs_url+"/ajax.updo_wr_1.php",
            type: "POST",
            data: {
                "bo_table" :bo_table,
                "wr_id": wr_id,
                "wr_1": wr_1
            },
            dataType: "json",
            async: false,
            cache: false,
            success: function(data, textStatus) {
             window.location.reload();

            }
        });


}

</script>

 

 

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


$bo_table     = trim($_REQUEST['bo_table']);
$wr_id = trim($_REQUEST['wr_id']);
$wr_1 = trim($_REQUEST['wr_1']);


//기각 -1
//채택 1
$sql="UPDATE  `g5_write_".$bo_table."` SET  
   `wr_1` =  '".$wr_1."' 
  
    WHERE  `wr_id` =".$wr_id.";";
    $row = sql_fetch($sql);

?>

 

잘됩니다.. 그런데 궁금한게...

인풋이 여러개라

 

예제코드처럼 버튼으로 하지 않고

 

 

 

<input type=text id="<?php echo $list[$i]['wr_1']; ?>" name='wr_1' value="<?=$list[$i]['wr_1']?>" >

<input type=text id="<?php echo $list[$i]['wr_2']; ?>" name='wr_2' value="<?=$list[$i]['wr_2']?>" >

<input type=text id="<?php echo $list[$i]['wr_3']; ?>" name='wr_3' value="<?=$list[$i]['wr_3']?>" >

 

하단에 

확인버튼 한개만 두고 하려는데..어떻게 해야 하는지 궁금합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
5년 전

* list 페이지용

<input type="text" name="<?=$list[$i]['wr_id']?>_wr_1" value="<?=$list[$i]['wr_1']?>" >

<input type="text" name="<?=$list[$i]['wr_id']?>_wr_2" value="<?=$list[$i]['wr_2']?>" >

<input type="text" name="<?=$list[$i]['wr_id']?>_wr_3" value="<?=$list[$i]['wr_3']?>" ></p>

<p><button type="button" onclick="update_wr_1_2_3('<?=$list[$i]['wr_id']?>', '<?=$list[$i]['wr_1']?>', '<?=$list[$i]['wr_2']?>', '<?=$list[$i]['wr_3']?>')">저장</button>

 

<script>

function update_wr_1_2_3(wr_id, wr_1, wr_2, wr_3) {

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

 

    $.ajax({

        url: g5_bbs_url + "/update_wr_1_2_3.php",

        type: "POST",

        data: {

        "bo_table": bo_table,

        "wr_id": wr_id,

        "wr_1": wr_1,

        "wr_2": wr_2,

        "wr_3": wr_3

        },

        success: function(data) {

            if (data == 'ok')

                window.location.reload();

            else

                alert('오류가 발생하였습니다.');

        }

    });

}

</script>

 

update_wr_1_2_3.php

<?php

include_once('./_common.php');</p>

<p>$write_table = 'g5_write_' . $bo_table;</p>

<p>$sql = "

  UPDATE {$write_table}

     SET wr_1 = '{$wr_1}',

         wr_2 = '{$wr_2}',

         wr_3 = '{$wr_3}'

   WHERE wr_id = '{$wr_id}'

";

 

$result = sql_query($sql);

 

if ($result)

    echo "ok";

?>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

머시기거시기
5년 전
시간내주셔서 거듭 감사합니다. 일단 리스트에서 해보고 있는데
코드 그대로 넣었는데
Uncaught SyntaxError: Invalid or unexpected token 에러 뜨구요
주소창에 파라미터로 실행하니 업데이트 됩니다.
update_wr_1_2_3.php?bo_table=free&wr_id=10&wr_1=aa&wr_2=bb&wr_3=cc

인풋이나 스크립트에 뭔가 이상이 있는거 같습니다.
마르스컴퍼니
5년 전
<button type="button" onclick="update_wr_1_2_3('<?=$list[$i]['wr_id']?>', '<?=$list[$i]['wr_1']?>', '<?=$list[$i]['wr_2']?>', '<?=$list[$i]['wr_3']?>')">저장</button>

부분을 소스보기 또는 검사 했을 때..
update_wr_1_2_3 ('10', 'aa', 'bb', 'cc') 형태와 같은 문자열(따옴표로 묶인) 파라미터가 들어가야 되는데.. 그부분을 확인해 보셨으면 합니다.
머시기거시기
5년 전
감사합니다,,제 스킨에서는 잘 안되어서 알려주신거랑 다른거랑 짬뽕해서 해결했습니다.
시간내주셔서 고맙습니다.

댓글을 작성하려면 로그인이 필요합니다.

5년 전

* View 페이지용

<input type="text" id="wr_1" name="wr_1" value="<?=$view['wr_1']?>" >

<input type="text" id="wr_1" name="wr_2" value="<?=$view['wr_2']?>" >

<input type="text" id="wr_1" name="wr_3" value="<?=$view['wr_3']?>" >

 

<script>

function update_wr_1_2_3() {

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

    var wr_id = '<?php echo $wr_id ?>';

    

    var wr_1 = $('input[name=wr_1]').val();

    var wr_2 = $('input[name=wr_2]').val();

    var wr_3 = $('input[name=wr_3]').val();

 

    $.ajax({

        url: g5_bbs_url + "/update_wr_1_2_3.php",

        type: "POST",

        data: {

        "bo_table": bo_table,

        "wr_id": wr_id,

        "wr_1": wr_1,

        "wr_2": wr_2,

        "wr_3": wr_3

        },

        success: function(data) {

            if (data == 'ok')

                window.location.reload();

            else

                alert('오류가 발생하였습니다.');

        }

    });

}

</script>

 

update_wr_1_2_3.php

<?php

include_once('./_common.php');</p>

<p>$write_table = 'g5_write_' . $bo_table;</p>

<p>$sql = "

  UPDATE {$write_table}

     SET wr_1 = '{$wr_1}',

         wr_2 = '{$wr_2}',

         wr_3 = '{$wr_3}'

   WHERE wr_id = '{$wr_id}'

";

 

$result = sql_query($sql);

 

if ($result)

    echo "ok";

?>

 

에러가 난다면.. 같은 디렉토리에 _common.php 파일이 있는지, _common.php 파일 내용에 / 의 common.php 파일을 include 하고 있는지 확인해 보셨으면 합니다.

 

계속 에러가 난다면,

브라우저에서 직접 ~/update_wr_1_2_3.php?bo_table=free&wr_id=10&wr_1=aa&wr_2=bb&wr_3=cc 식으로 입력/이동하여 에러 확인/수정 작업을 해볼 수 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

</p>

<p><input type="text" id="wr_1" name="wr_1" value="<?=$list[$i]['wr_1']?>" >

<input type="text" id="wr_1" name="wr_2" value="<?=$list[$i]['wr_2']?>" >

<input type="text" id="wr_1" name="wr_3" value="<?=$list[$i]['wr_3']?>" ></p>

<p>

 

</p>

<p><script>

function update_wr_1_2_3() {

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

    var wr_id = '<?php echo $wr_id ?>';

    

    var wr_1 = $('input[name=wr_1]').val();

    var wr_2 = $('input[name=wr_2]').val();

    var wr_3 = $('input[name=wr_3]').val();</p>

<p> </p>

<p>    $.ajax({

        url: g5_bbs_url + "/update_wr_1_2_3.php",

        type: "POST",

        data: {

        "bo_table": bo_table,

        "wr_id": wr_id,

        "wr_1": wr_1,

        "wr_2": wr_2,

        "wr_3": wr_3

        },

        success: function(data) {

            if (data == 'ok')

                window.location.reload();

            else

                alert('오류가 발생하였습니다.');

        }

    });</p>

<p>}

</script></p>

<p>


update_wr_1_2_3.php

<?php

include_once('./_common.php');</p>

<p> </p>

<p>$sql = "

    UPDATE g5_write_{$bo_table}

         SET wr_1 = '{$wr_1}',

              wr_2 = '{$wr_2}',

              wr_3 = '{$wr_3}'

   WHERE wr_id = '{$wr_id}'

";</p>

<p> </p>

<p>$result = sql_query($sql);</p>

<p> </p>

<p>if ($result)

    echo "ok";

?></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

머시기거시기
5년 전
님 감사합니다..
고맙습니다.
복받으실거에요!
머시기거시기
5년 전
적용하는데 오류가 발생하였다고 얼럿이 뜨네요..
리스트에 적용해서 그런가 하고 뷰페이지에서 해봐도 그렇습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인