DB을 이용한 다중셀렉트 정보
DB을 이용한 다중셀렉트본문
http://singsinghe.co.kr 강좌에서 DB을 이용한 다중셀렉트을 보고 그누에서 똑같이 실행했는데
첫번째 셀렉트는 db에서 값을 잘 가져오는데 2번째 셀렉트는 db에서 값을 가져오지 못하네요.
그리고 a.php에는 현재 내가 선택한 값이 나오게 하고 싶은데 그것도 안됩니다.
문제가 뭘까요?
혹은 그누에서 다중셀렉를 이용하는 방법을 알고 계신분들 알려 주세요.
그리고 db 가져오는 것은 <? include_once("./_common.php"); ?> 되나요?
맞는것 같기도 틀린것 같기도 헷갈리네요.
APM 환경 Apache 2.2.14 , PHP Version 5.2.12 , MySQL 5.1.39 입니다.
db설정
===================================================================
CREATE TABLE IF NOT EXISTS `dysel` (
`code` varchar(5) CHARACTER SET euckr NOT NULL,
`name` varchar(20) CHARACTER SET euckr NOT NULL,
PRIMARY KEY (`code`)
) ;
--
-- 테이블의 덤프 데이터 `dysel`
--
INSERT INTO `dysel` (`code`, `name`) VALUES
('A', '서울'),
('B', '전남'),
('A01', '강남구'),
('A02', '강북구'),
('A03', '구로구'),
('A04', '영등포구'),
('B01', '여수시'),
('B02', '순천시'),
('B03', '구례군'),
('C', '경남');
===================================================================
a.php
===================================================================
<?
include_once("./_common.php");
?>
<script>
function loadData(z){
var tmp = z.options[z.selectedIndex].value;
assa.location.href = "loadData.php?tmp="+tmp;
}
</script>
<form name="frm" action="b.php">
<select name=a onChange="loadData(this)">
<option value=''>지역선택
<?
$query = "select * from dysel where length(code)=1 ";
$result = mysql_query($query);
while($data = mysql_fetch_array($result)){
?>
<option value='<?=$data[code]?>'><?=$data[name]?>
<? } ?>
</select>
<select name=b>
<option value=''>
</select>
<input type=submit value='전송'>
</form>
<iframe width=100 height=100 name="assa"></iframe>
===================================================================
b.php
===================================================================
<li> <?=$a?>
<li> <?=$b?>
===================================================================
loadData.php
===================================================================
<?
include_once("./_common.php");
?>
<script>
<?
$query = "select * from dysel where code like '$tmp%'
and length(code)>1";
$result = mysql_query($query, $select_db);
$total = mysql_affected_rows();
?>
parent.frm.b.length = <?=$total?>;
<?
$i = 0;
while($data = mysql_fetch_array($result)){
?>
parent.frm.b.options[<?=$i?>].text = '<?=$data[name]?>';
parent.frm.b.options[<?=$i?>].value = '<?=$data[code]?>';
<?
$i++;
} ?>
</script>
===================================================================
첫번째 셀렉트는 db에서 값을 잘 가져오는데 2번째 셀렉트는 db에서 값을 가져오지 못하네요.
그리고 a.php에는 현재 내가 선택한 값이 나오게 하고 싶은데 그것도 안됩니다.
문제가 뭘까요?
혹은 그누에서 다중셀렉를 이용하는 방법을 알고 계신분들 알려 주세요.
그리고 db 가져오는 것은 <? include_once("./_common.php"); ?> 되나요?
맞는것 같기도 틀린것 같기도 헷갈리네요.
APM 환경 Apache 2.2.14 , PHP Version 5.2.12 , MySQL 5.1.39 입니다.
db설정
===================================================================
CREATE TABLE IF NOT EXISTS `dysel` (
`code` varchar(5) CHARACTER SET euckr NOT NULL,
`name` varchar(20) CHARACTER SET euckr NOT NULL,
PRIMARY KEY (`code`)
) ;
--
-- 테이블의 덤프 데이터 `dysel`
--
INSERT INTO `dysel` (`code`, `name`) VALUES
('A', '서울'),
('B', '전남'),
('A01', '강남구'),
('A02', '강북구'),
('A03', '구로구'),
('A04', '영등포구'),
('B01', '여수시'),
('B02', '순천시'),
('B03', '구례군'),
('C', '경남');
===================================================================
a.php
===================================================================
<?
include_once("./_common.php");
?>
<script>
function loadData(z){
var tmp = z.options[z.selectedIndex].value;
assa.location.href = "loadData.php?tmp="+tmp;
}
</script>
<form name="frm" action="b.php">
<select name=a onChange="loadData(this)">
<option value=''>지역선택
<?
$query = "select * from dysel where length(code)=1 ";
$result = mysql_query($query);
while($data = mysql_fetch_array($result)){
?>
<option value='<?=$data[code]?>'><?=$data[name]?>
<? } ?>
</select>
<select name=b>
<option value=''>
</select>
<input type=submit value='전송'>
</form>
<iframe width=100 height=100 name="assa"></iframe>
===================================================================
b.php
===================================================================
<li> <?=$a?>
<li> <?=$b?>
===================================================================
loadData.php
===================================================================
<?
include_once("./_common.php");
?>
<script>
<?
$query = "select * from dysel where code like '$tmp%'
and length(code)>1";
$result = mysql_query($query, $select_db);
$total = mysql_affected_rows();
?>
parent.frm.b.length = <?=$total?>;
<?
$i = 0;
while($data = mysql_fetch_array($result)){
?>
parent.frm.b.options[<?=$i?>].text = '<?=$data[name]?>';
parent.frm.b.options[<?=$i?>].value = '<?=$data[code]?>';
<?
$i++;
} ?>
</script>
===================================================================
댓글 전체
loadData.php
$result = mysql_query($query);
$result = mysql_query($query);
아 올릴때 원본을 그대로 올리느라 실수 했네요.
$result = mysql_query($query);
테스트 했는데 상황은 똑같습니다.
관심 갖아 주셔서 감사합니다.
$result = mysql_query($query);
테스트 했는데 상황은 똑같습니다.
관심 갖아 주셔서 감사합니다.
loadData.php
$tmp = $_GET['tmp'];
$tmp = $_GET['tmp'];
오호~
슈와이님이 알려주신데로 하니 값이 들어가네요.
아이프레임에 값을 출력하는 것까지 되면 완벽할텐데...
여튼 감사합니다.
슈와이님이 알려주신데로 하니 값이 들어가네요.
아이프레임에 값을 출력하는 것까지 되면 완벽할텐데...
여튼 감사합니다.