버튼을 누르면 selectbox 값으로 DB값 변경하는 코드입니다... 관심 좀 부탁드려봅니다.
본문
현재 index.php 페이지를 새로이 만들고 있씁니다. DB에 테이블도 만들어 줬구요.
아래 코드에 적혀 있는 것처럼 버튼을 누르면 selectbox에서 선택한 값을 DB에서 수정을 해 주는 코드입니다.
그런데... 이런식으로 하면 되지 않을까 하는데.... 적용이 안되네요.. ㅡ.ㅡ;;
코드를 어떻게 바꿔줘야 될런지.... 초보다 보니 너무 힘드네요... 이걸로 하루 종일 붙잡고 있네요... ㅠ.ㅠ
모쪼록 답변 부탁드려 봅니다.
<?php
$sql = "select alert_kisa,alert_ncsc from g5_mainpage_control";
$row = sql_fetch($sql);
$sql_alert_kisa = $row['alert_kisa'];
$sql_alert_ncsc = $row['alert_ncsc'];
?>
<!-- 최신글 시작 { -->
<?php if ($is_admin == 'super' || $is_auth) { ?>
<form name="alert_form">
<input type="hidden" name="alert_kisa" value="<?php echo $alert_kisa ?>">
<input type="hidden" name="alert_ncsc" value="<?php echo $alert_ncsc ?>">
<select name="alert_kisa" value="<?php echo $sql_alert_kisa ?>">
<option value="<?php echo $sql_alert_kisa ?>">
<?php
if($sql_alert_kisa) { echo $sql_alert_kisa;
}else{echo "선택하세요";}?></option>
<option value="normal">정상</option>
<option value="attention">관심</option>
<option value="warning">주의</option>
<option value="alert">경계</option>
<option value="critical">심각</option>
</select>
<select name="alert_ncsc" value="<?php echo $sql_alert_ncsc ?>">
<option value="<?php echo $sql_alert_ncsc ?>">
<?php
if($sql_alert_ncsc) { echo $sql_alert_ncsc;
}else{echo "선택하세요";}?></option>
<option value="normal">정상</option>
<option value="attention">관심</option>
<option value="warning">주의</option>
<option value="alert">경계</option>
<option value="critical">심각</option>
</select>
<input type="button" value="변경" onclick="<?php
$kisa = get_selected('$alert_kisa');
$ncsc = get_selected('$alert_ncsc');
//$kisa = 'critical';
//$ncsc = 'critical';
sql_query(" update g5_mainpage_control set alert_kisa='$kisa',alert_ncsc='$ncsc'");
?>">
<br>
</form>
<?php } ?>
답변 2
현재페이지에서 변수값은 javascript로 확인을 해야 새로 고쳐진값이 오겠지요.
현재 처럼 하면 항상 이전에 저장된 값이 계속 저장이 되거나 빈값이 저장이 될것 같은데요
전송버튼으로 쓸 값을 만듭니다
<input type=
"button"
value=
"변경"
onclick="
sel_up()" /> 대충이렇게
이값을 다른 페이지로 전송합니다
<script type="text/javascript">
function sel_up(){
var f = document.alert_form
//이부분에서 alert_kisa 검사와 alert_ncsc가 빈값인지 조사하고 값을 넘김다
f.action = "./sel_up.php";
f.submit();
return false;
}
</script>
자바스크립트는 대충이런식이고
update는 /bbs/sel_up.php를 만들어서 처리를 합니다
<input type='button' 생략>
이부분이 문제 입니다...
버튼을 클릭해서 php 코드가 바로 실행이 되는건 아니에요..
버튼클릭 -> 자바스크립트로 form submit => 전송된 php 파일에서 업데이트 실행
이과정을 거쳐야 합니다.