버튼을 누르면 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개 / 댓글 8개
현재페이지에서 변수값은 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를 만들어서 처리를 합니다
답변에 대한 댓글 7개
암튼, 관심 가져주셔서 감사 드립니다. (_ _)
<?php
$g5_path = "../"; // common.php의 상대 경로
include_once("$g5_path/common.php");
$kisa = $_GET['alert_kisa'];
$ncsc = $_GET['alert_ncsc'];
sql_query(" update g5_mainpage_control set alert_kisa='$kisa',alert_ncsc='$ncsc'");
?>
받는 쪽 코드를 이렇게 만들어봤는데...... 계속 에러가 뜨네요.....ㅎㅎ
만드신 파일의 경로가 /bbs 가 맞다면
<?php
include_once('./_common.php');
덕분에 소기의 목적을 달성하게 됐습니다.. ㅎㅎㅎ 감사합니다.
이제..... 바뀐게 바로 적용되게끔만 하면 될듯한데... 이건.... 또 해봐야겠네요.
암튼. 정말 감사드립니다. (_ _)
https://www.google.co.kr/search?q=ajax+json&ie=utf-8&oe=utf-8&gws_rd=cr&ei=Esq1VNLhHdaGuAT4goLoCg
적용이 어렵겠다 싶으시면 sel_up.php에서 부모창을 새로고침해도 될듯
$link = G5_URL;
goto_url($link);
어차피 index.php 파일이라 위의 코드를 추가해 줬더니 되네요.....ㅋㅋㅋㅋ 드뎌 성공...!!!
<input type='button' 생략>
이부분이 문제 입니다...
버튼을 클릭해서 php 코드가 바로 실행이 되는건 아니에요..
버튼클릭 -> 자바스크립트로 form submit => 전송된 php 파일에서 업데이트 실행
이과정을 거쳐야 합니다.
답변에 대한 댓글 1개
어떻게 해야된다하는게 이해는 되는데.... 그걸 어떻게 구현해야 될지 모르겠어요.. ㅠ.ㅠ
답변을 작성하려면 로그인이 필요합니다.
그런데... 아직 좀 이해가 안 가는 부분이 있네요.
님께서 남겨주신 코드대로하면 f란 변수로 폼을 받아 그 값을 sel_up.php라는 파일로 넘겨 주는 것 같은데...
문제는 sel_up.php 파일에서 넘겨진 폼에서 해당 값을 어떻게 받아서 뽑아내는지 모르겠어요. ㅡ.ㅡ;;
뭔가 함수를 써야 되는건지.....완전 쌩초보라... 스크립트를 가져다가 쓸줄만 알지... 응용이.....;;;;;