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

셀렉트박스에 연동된 DB값을 여러개의 인풋으로 불러오기 다시 문의 드립니다.

주니어 7년 전 조회 5,355

많은 분들의 도움을 받아 셀렉트박스에 연동된 DB값을 받아오는 것까지는 완료했으나

두가지 문제에 부딪혀 한발짝도 나가지 못하고 있습니다. 도움을 청합니다.

A라는 테이블에 B의 테이블의 값을 셀렉트박스에 받아서 아래와 같이 입력해서 저장하려고 합니다..

아래의 그림처럼 B의 테이블에 있는 필드값 2개를 받아 A테이블에 저장하려고 하는데 그림2 처럼 

각기 다른 두개의 필드에 한개의 값만 저장이 되고 있습니다.

아직 왕초보라 아무리 검색하고 연구해도 해답을 찾지 못해 도움을 청합니다.

그리고 셀렉트박스에 첫번째 선택을 하면 아무런 반응이 없다 두번째 필드를 선택하고 다시 첫번째를 선택해야 "B"테이블 값을 넘겨주는데 이 또한 어떻게 해야할지 모르겠습니다.

 

소스코드는 아래와 같습니다.

<?php
      $sql = "select wr_subject, wr_1 from g5_write_hotel_prc01";
      $result = sql_query($sql);
    ?>
      <select id="11" name="wr_11" onchange="$(this).next().val(this.value)">
         <?php while ($row = sql_fetch_array($result)) {?>
         <option value="<?php echo $row['wr_1'] ?>"><?php echo $row['wr_subject'] ?></option>
         <?php    } ?>
      </select>
      <input type="text" name="wr_12" id="wr_12" value="<?php echo $row['wr_subject'] ?>">
      <input type="text" name="wr_13" id="wr_13" value="<?php echo $row['wr_1'] ?>">

 

염치없지만 도움 부탁드립니다.

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

답변 2개

e
7년 전

</p>

<p><?php</p>

<p>$sql = "select wr_subject, wr_1 from g5_write_hotel_prc01";</p>

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

<p>?></p>

<p><select id="wr_change" name="wr_change" onchange="wr_change(this.value)"></p>

<p><?php while ($row = sql_fetch_array($result)) {?></p>

<p><option value="<?php echo $row['wr_subject'] ?>|<?php echo $row['wr_1'] ?>|<?php echo $row['wr_2'] ?>"><?php echo $row['wr_subject'] ?></option></p>

<p><?php } ?></p>

<p></select></p>

<p><input type="text" name="wr_11" id="wr_11" value="<?php echo $row['wr_11'] ?>"></p>

<p><input type="text" name="wr_12" id="wr_12" value="<?php echo $row['wr_12'] ?>"></p>

<p><input type="text" name="wr_13" id="wr_13" value="<?php echo $row['wr_13'] ?>"></p>

<p> </p>

<p><script></p>

<p>function wr_change(val) {</p>

<p>var arr = val.split('|');</p>

<p>$("#wr_11").val(arr[0]);</p>

<p>$("#wr_12").val(arr[1]);</p>

<p>$("#wr_13").val(arr[2]);</p>

<p>}</p>

<p></script></p>

<p>

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

답변에 대한 댓글 6개

주니어
7년 전
소스까지 친절하게 알려주셔서 감사합니다.
근데 뭐가 잘못됐는지 input 박스로 값이 전달이 안됩니다..ㅠㅠ
좀 더 부지런히 연구해 보겠습니다.
번거롭고 귀찮게 해 드려 죄송합니다.
e
eyekiss
7년 전
제가 테스트는 못해봐서..
alert 을 추가해서 값이 잘 넘어가는지 확인해보세요.
alert(val)
alert(arr[0]);
주니어
7년 전
<?php
$sql = "select wr_subject, wr_1 from g5_write_trans_prc01";
$result = sql_query($sql);
?>
<select id="wr_change" name="wr_change" onchange="alert(this.value)">
<?php while ($row = sql_fetch_array($result)) {?>
<option value="<?php echo $row['wr_subject'] ?>|<?php echo $row['wr_1'] ?>|<?php echo $row['wr_2'] ?>"><?php echo $row['wr_subject'] ?></option>
<?php } ?>

</select>
<input type="text" name="wr_21" id="wr_21" value="<?php echo $row['wr_21'] ?>">
<input type="text" name="wr_22" id="wr_22" value="<?php echo $row['wr_22'] ?>">
<input type="text" name="wr_23" id="wr_23" value="<?php echo $row['wr_23'] ?>">

<script>
function alert(val) {
var arr = val.split('|');
$("#wr_21").alert(arr[0]);
$("#wr_22").alert(arr[1]);
$("#wr_23").alert(arr[2]);
}
</script>
죄송합니다.
제가 왕초보라 정말 귀찮게 하는 것 같습니다. 거듭 감사의 말씀과 송구한 말씀 드립니다.
소스코드는 이렇게 처리했는데 역시 값이 넘어가질 않습니다.. ㅠㅠ
e
eyekiss
7년 전
일단 아래 부분 수정하시고, input text에 값이 안들어가나요?
$sql = "select wr_subject, wr_1, wr_2 from g5_write_trans_prc01";
주니어
7년 전
제가 너무 번거롭게 해 드리는 것 같아 정말 죄송합니다.
그런데 역시 값이 넘어가질 않습니다.

<select id="11" name="wr_11" onchange="$(this).next().val(this.value)">
이렇게 사용하면 값은 넘어가는데 한개의 필드값만 넘어갑니다...ㅠㅠ
e
eyekiss
7년 전
제가 올려드린 위의 소스에서 아래부분만 수정해서 그대로 올려보세요.
그래도 안되면 카톡 eyekissing 주시면 따로 봐드릴께요.
$sql = "select wr_subject, wr_1, wr_2 from g5_write_trans_prc01";

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

e
7년 전

이 설명을 봐도 이해가 안되는데요..

현재의 소스보다는..

A테이블의 값과 B 테이블의 값을

직접 어떻게 넣고 싶은지 알려주시면 될것 같네요..

 

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

답변에 대한 댓글 1개

주니어
7년 전
감사합니다.
제가 설명이 많이 부족했나 봅니다...
제가 하고자 하는 작업은...

입력 받을 A 테이블에는 wr_subject, wr_1 wr_2 세개의 필드가 있습니다.
write.skin.php에서

셀렉트박스에 연동된 테이블 B
불러올 필드명 wr_subect, wr_1 wr_2 세개의 필드에는 이미 각각 값들이 입력되어 있는 상태라
셀렉트박스에서 선택시 해당 값을..

셀렉드박스 옆에 있는 세개의 A 테이블의 input 박스에 WR_subject, WR_1 WR_2가 각각의 필드에 자동 삽입되면서
저장될 수 있도록 만들려고 하는데 아직 왕초보라 잘 안됩니다..

고맙습니다.

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

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

로그인