디비연동 셀렉트 박스 선택시 다른 input 박스에 관련값 뿌려주기.. 정보
디비연동 셀렉트 박스 선택시 다른 input 박스에 관련값 뿌려주기..
본문
<select name="gline">
<option>결재</option>
<?
$strsql="SELECT name,memid,place FROM 테이블명 ORDER BY name ASC";
$stmt=mysql_query($strsql,$con);
for ($i=0; $i<mysql_num_rows($stmt); $i++) {
$num=$i+1;
$name=mysql_result($stmt,$i,name);
$place=mysql_result($stmt,$i,place);
?>
<option value="<?echo("$name");?>"><?echo("$name");?></option>
<?
}
?>
</select>
이런식으로 디비에서 값을 불러와서 셀렉트 박스로 구현했는데요..
셀렉트 박스내용이 이름인데.. 그 이름을 선택하하면
같은 페이지에 있는 input 박스 안에
이름과 같은 $place 값이 나타나게 하고 싶은데요..
제가 거의 초보 수준이라서 잘 안되네요..
완성소느 내지는 힌트라도 좀 올려주실분..
도와주세요 고수님들 ㅜㅜ
<option>결재</option>
<?
$strsql="SELECT name,memid,place FROM 테이블명 ORDER BY name ASC";
$stmt=mysql_query($strsql,$con);
for ($i=0; $i<mysql_num_rows($stmt); $i++) {
$num=$i+1;
$name=mysql_result($stmt,$i,name);
$place=mysql_result($stmt,$i,place);
?>
<option value="<?echo("$name");?>"><?echo("$name");?></option>
<?
}
?>
</select>
이런식으로 디비에서 값을 불러와서 셀렉트 박스로 구현했는데요..
셀렉트 박스내용이 이름인데.. 그 이름을 선택하하면
같은 페이지에 있는 input 박스 안에
이름과 같은 $place 값이 나타나게 하고 싶은데요..
제가 거의 초보 수준이라서 잘 안되네요..
완성소느 내지는 힌트라도 좀 올려주실분..
도와주세요 고수님들 ㅜㅜ
추천
0
0
댓글 4개

select 태그에 onchange 이벤트를 잡아주면 됩니다.
<select name="gline" onchange="document.getElementById('input의 ID').value = this.value;">
이런 식이면 될 겁니다. (확인은 안 해봤습니다 -_-)
아, 그리고 option 태그가 둘 다 name이 들어가네요. value는 place가 돼야겠죠?
<option value="<?php echo $place; ?>"><?php echo $name; ?></option>
<select name="gline" onchange="document.getElementById('input의 ID').value = this.value;">
이런 식이면 될 겁니다. (확인은 안 해봤습니다 -_-)
아, 그리고 option 태그가 둘 다 name이 들어가네요. value는 place가 돼야겠죠?
<option value="<?php echo $place; ?>"><?php echo $name; ?></option>

답변 감사드립니다. ^^
제가 질문했던건..
필드에 name, place, memid 이렇게 3개가 있는데
name 값은 디비에서 불러와서 셀렉트 박스로 가져왔고..
그 name 값에 대한 place 값을 input 박스에 뿌려주는 방법이었습니다;;
정말 죄송합니다만 다시한번만 부탁드립니다. ㅜㅜ
제가 질문했던건..
필드에 name, place, memid 이렇게 3개가 있는데
name 값은 디비에서 불러와서 셀렉트 박스로 가져왔고..
그 name 값에 대한 place 값을 input 박스에 뿌려주는 방법이었습니다;;
정말 죄송합니다만 다시한번만 부탁드립니다. ㅜㅜ

<select name="gline1" style="width:70px;" onchange="document.getElementById('place1').value = this.value.substr(4,3).replace(',', '');">
<option>:: 선택 ::</option>
<?
$strsql="SELECT name,memid,place FROM 테이블명 ORDER BY name ASC";
$stmt=mysql_query($strsql,$con);
for ($i=0; $i<mysql_num_rows($stmt); $i++) {
$num=$i+1;
$name=mysql_result($stmt,$i,name);
$place=mysql_result($stmt,$i,place);
$memid=mysql_result($stmt,$i,memid);
?>
<option value="<?echo("$name");?>,<?echo("$place");?>,<?echo("$memid");?>"><?echo("$name");?></option>
<?
}
?>
</select>
결국에 onchange 부분에 자바스크립트 문자열 함수 써서 필요한 부분만 출력되게 해놨어여;;;
눈가리고 아웅;;;
나중에 이거 이어받는 개발자가 욕하겠네요 ㅠㅠ;;
<option>:: 선택 ::</option>
<?
$strsql="SELECT name,memid,place FROM 테이블명 ORDER BY name ASC";
$stmt=mysql_query($strsql,$con);
for ($i=0; $i<mysql_num_rows($stmt); $i++) {
$num=$i+1;
$name=mysql_result($stmt,$i,name);
$place=mysql_result($stmt,$i,place);
$memid=mysql_result($stmt,$i,memid);
?>
<option value="<?echo("$name");?>,<?echo("$place");?>,<?echo("$memid");?>"><?echo("$name");?></option>
<?
}
?>
</select>
결국에 onchange 부분에 자바스크립트 문자열 함수 써서 필요한 부분만 출력되게 해놨어여;;;
눈가리고 아웅;;;
나중에 이거 이어받는 개발자가 욕하겠네요 ㅠㅠ;;

select 값은 안 쓰이는 건가요? 아니면 서버에서도 동일하게 나눠서 쓰는 건가요?
만약 서버에서 나눠서 처리한다면, 특별한 게 없다면 name, memid, place를 얻는 것보다는 id(primary key)를 이용해서 한 큐에 처리하는 게 더 안전할 것 같습니다.
만약 서버에서 나눠서 처리한다면, 특별한 게 없다면 name, memid, place를 얻는 것보다는 id(primary key)를 이용해서 한 큐에 처리하는 게 더 안전할 것 같습니다.