[수정]고수님들 살려주십시요..ㅠㅠ

[수정]고수님들 살려주십시요..ㅠㅠ

QA

[수정]고수님들 살려주십시요..ㅠㅠ

본문

이것 저것 해본 결과 아래 소스처럼 했더니 셀렉트 선택시 wr_1,wr_4에 값이 뿌려지긴 하는데,

ajax.wr_code.php에서 db 쿼리문도 안먹히고 wr_1과 wr_4에 그냥 숫자 1만 찍힙니다.

 

미치고 환장하다 못해 이젠 거품 물겠습니다. 이것 때문에 당췌 몇주째 해메고 있는지..ㅠㅠ

고수님들 제발 도와주십시요ㅠㅠ

 

소스는 아래에 적여 놓겠습니다.

<script type="text/javascript">
function chkcode(){
 if(fwrite.wr_2.value=="100") { fwrite.wr_3.value="a;  }   
 if(fwrite.wr_2.value=="101") { fwrite.wr_3.value="b; }
 if(fwrite.wr_2.value=="102") { fwrite.wr_3.value="c; }
 if(fwrite.wr_2.value=="103") { fwrite.wr_3.value="d" }
 if(fwrite.wr_2.value=="104") { fwrite.wr_3.value="e; }
 if(fwrite.wr_2.value=="105") { fwrite.wr_3.value="f; }
 if(fwrite.wr_2.value=="106") { fwrite.wr_3.value="g; }
 if(fwrite.wr_2.value=="107") { fwrite.wr_3.value="h; }
 if(fwrite.wr_2.value=="108") { fwrite.wr_3.value="i; }
 if(fwrite.wr_2.value=="109") { fwrite.wr_3.value="j; }
 if(fwrite.wr_2.value=="131") { fwrite.wr_3.value="k; }

 //var x=$("#wr_2 option:selected").val();  
 //$("#wr_2n").val(x);
 function ajaxSelectCode(val) { 

 $.ajax({
  type: 'POST',
  url: g5_bbs_url+'/ajax.wr_code.php',  
  dataType : 'json',
  data: {wr_2: $("#wr_2").val()},
  success: function(data) {
   $('#wr_1').val(data.wr_1);
   $('#wr_4').val(data.wr_4);
  }
 });

</script>

 

---생략 ---

 

 <tr>
  <td><input type="text" name="wr_1" value="<?php echo $wr_1 ?>" id="wr_1" required class="num" maxlength="20"></td>
  <td>
   <select class="selc" name="wr_2" id="wr_2" value="<?php echo $wr_2 ?>" onchange="chkcode()" class='selc' required>
    <option value="">업체코드</option>
    <option value="100" <?php if($wr_2 == "100") echo "selected=\"selected\""; ?> label="100" />100</option>
    <option value="101" <?php if($wr_2 == "101") echo "selected=\"selected\""; ?> label="101" />101</option>
    <option value="102" <?php if($wr_2 == "102") echo "selected=\"selected\""; ?> label="102" />102</option>
    <option value="103" <?php if($wr_2 == "103") echo "selected=\"selected\""; ?> label="103" />103</option>
    <option value="104" <?php if($wr_2 == "104") echo "selected=\"selected\""; ?> label="104" />104</option>
    <option value="105" <?php if($wr_2 == "105") echo "selected=\"selected\""; ?> label="105" />105</option>
    <option value="106" <?php if($wr_2 == "106") echo "selected=\"selected\""; ?> label="106" />106</option>
    <option value="107" <?php if($wr_2 == "107") echo "selected=\"selected\""; ?> label="107" />107</option>
    <option value="108" <?php if($wr_2 == "108") echo "selected=\"selected\""; ?> label="108" />108</option>
    <option value="109" <?php if($wr_2 == "109") echo "selected=\"selected\""; ?> label="109" />109</option>
    <option value="131" <?php if($wr_2 == "131") echo "selected=\"selected\""; ?> label="131" />131</option>
   </select> 
  </td>
  <td><input type="text" name="wr_3" value="<?php echo $wr_3; ?>" id="wr_3" readonly='readonly' required class="name" maxlength="20"></td>
  <td><input type="text" name="wr_4" value="<?php echo $wr_4 ?>" id="wr_4" required class="num" maxlength="20"></td>

 

 

-- ajax.wr_code.php --

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

$wr_2 = $_POST['wr_2'];
$w2 = $wr_2;
$sql = sql_fetch(" select wr_1, wr_4 from $write_table where wr_2='$w2'" );


if($row['wr_1'] && $row['wr_4'] == '') {
 $wr_1 = $wr_4 = 1;
}
else {
 $wr_1 = $row['wr_1']+1;
 $wr_4 = $row['wr_4']+1;
}
 $data = array('wr_1' => $wr_1, 'wr_4' => $wr_4, 'wr_2n' => $wr_2);
 echo json_encode($data);
?>



?> 

 

이 질문에 댓글 쓰기 :

답변 7

$sql = sql_fetch(" select wr_1, wr_4 from $write_table where wr_2='$w2'" ); 

이게 아니라 $row = ... 가 되어야 해요

 

비어있는 값이 가서 플러스 1이 되니 각각 1값이 들어있을 수 있어요.

$row로 바꿔봤지만..ㅠㅠ 하아..이러다 님도 지치실 것 같아요..
그리고 DB에는 wr_2필드에 이미 102가 저장되어 있는 값이 있어요
그래서 셀렉트에 102를 선택하면 기존의 wr_1,wr_4에 +1씩 하려하고
다른 셀렉트를 선택했을시 DB를 검색해서 없다면 그냥 1을 있다면 위처럼
+1 씩 하려는 의도인데....ㅠㅠ 안되요

혹시 몰라 bo_table이 넘어오는지 보려고 success에
$("#wr_5").val(data.bo_table); 를 넣어서 해보니깐
wr_5라는 input box에 <?=php echo bo_table?> 이렇게 찍히네요..
그래서 ajax.wr_code.php에
$bo_table = trim($_POST['bo_table']);
이렇게 바꿔봐도 똑같이 <?=php echo bo_table?> 이렇게 찍혀요..

$sql = sql_fetch(" select wr_1, wr_4 from $write_table where wr_2='$w2'" ); // ★ $sql  


if($row['wr_1'] && $row['wr_4'] == '') { // ★ $row ?????

...

 

 

우선 체크..

bo_table 값을 넘기지 않으면 $write_table은 빈값이지 않을까요? 그러면 쿼리 에러가 날꺼구요...

function ajaxSelectCode(val) {
    var bo_table = "<?php echo $bo_table?>";
$.ajax({
type: 'POST',
url: g5_bbs_url+'/ajax.wr_code.php?bo_table='+bo_table,
dataType : 'json',
data: {wr_2: $("#wr_2").val()},
success: function(data) {
$('#wr_1').val(data.wr_1);
$('#wr_4').val(data.wr_4);
$('#wr_2n').val(data.wr_2n);
}
});
}
bo_table를 넘겨보려는데 위 소스가 맞나요?? 혹시나 싶어 해봤는데 반응이 똑같아서요ㅠㅠ

Post로 넘기니까 data에 있어야 겠죠.


function ajaxSelectCode(val) {	
    var bo_table = "<?php echo $bo_table?>"; 
    $.ajax({ 
        type: 'POST', 
        url: g5_bbs_url+'/ajax.wr_code.php',	
        dataType : 'json', 
        data: {
            wr_2: $("#wr_2").val(),
            bo_table: bo_table
        }, 
        success: function(data) { 
                $('#wr_1').val(data.wr_1); 
                $('#wr_4').val(data.wr_4); 
                $('#wr_2n').val(data.wr_2n);	
        } 
    }); 
}  

한번 님이 적어주신대로 해봤지만,...안되네요..
왜냐면 현재 DB에 셀렉트 옵션 중 102라는 항목과 wr_1, wr_4에는 각각 1이 저장되어있는데
셀렉트 102를 선택하면 +1씩 증가되어야 하는데 그대로 1만 출력되거든요..

아 여러분 죄송해요...깜빡하고 이 글을 안썼네요..

현재 DB에는 3개의 글이 있는데 현재로선 wr_2는 모두 102가 저장되어있고

3개가 저장(당시엔 그냥 타이핑 한 값이었어요)되어 있다보니 wr_1은 1부터3까지

wr_4도 마찬가지로 1~3까지 각각 저장되어있는 상태에요

 

그래서 셀렉트 선택을 102를 중점으로 두고 선택하는데요~

반응이 있는 거라면 분명 wr_1과 wr_4에는 +1씩 되어 출력해줘야 하는데 sql문 이런거

상관없이 무조건 각각 1만 출력되네요.. 

letsgolee님 왕계란님 두 분께 감사드립니다. 두 분덕에 해결 했습니다.

첫째 bo_table이 넘어가질 않아 sql문 먹히지 않았던 것이었습니다.

두 분의 소스를 토대로 이것 저것 짜집기도 해보고 넣어보기도 하고 지워보기도 하고

하다 결국 성공했습니다.

그래서 제가 어떻게 했는지 질문 및 답변글에 올려놓을 까 합니다.

두 분 모두 감사드립니다. 

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

회원로그인

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