채택완료

버튼을 누르면 selectbox 값으로 DB값 변경하는 코드입니다... 관심 좀 부탁드려봅니다.

2015-01-12 (월) 19:15:36 7,427

현재 index.php 페이지를 새로이 만들고 있씁니다. DB에 테이블도 만들어 줬구요.

아래 코드에 적혀 있는 것처럼 버튼을 누르면 selectbox에서 선택한 값을 DB에서 수정을 해 주는 코드입니다.

그런데... 이런식으로 하면 되지 않을까 하는데.... 적용이 안되네요.. ㅡ.ㅡ;;

코드를 어떻게 바꿔줘야 될런지.... 초보다 보니 너무 힘드네요... 이걸로 하루 종일 붙잡고 있네요... ㅠ.ㅠ

모쪼록 답변 부탁드려 봅니다.

Copy
<?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개

채택된 답변
+20 포인트
2015-01-13 (화) 09:56:30

현재페이지에서 변수값은 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개

답변 주셔서 감사드립니다.
그런데... 아직 좀 이해가 안 가는 부분이 있네요.
님께서 남겨주신 코드대로하면 f란 변수로 폼을 받아 그 값을 sel_up.php라는 파일로 넘겨 주는 것 같은데...
문제는 sel_up.php 파일에서 넘겨진 폼에서 해당 값을 어떻게 받아서 뽑아내는지 모르겠어요. ㅡ.ㅡ;;
뭔가 함수를 써야 되는건지.....완전 쌩초보라... 스크립트를 가져다가 쓸줄만 알지... 응용이.....;;;;;
현재페이지에서 자바스크립트로 넘기고 값을 다시 받아서 표시하고 싶으시면 ajax를 활용하셔야지요
ajax라... ㅎㅎㅎ 잘 모르겠네요...;;;
암튼, 관심 가져주셔서 감사 드립니다. (_ _)

<?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'");
?>

받는 쪽 코드를 이렇게 만들어봤는데...... 계속 에러가 뜨네요.....ㅎㅎ
common.php파일의 경로는 맞나요?
만드신 파일의 경로가 /bbs 가 맞다면
<?php
include_once('./_common.php');
님께서 적어주신 코드로 바꾸고... 해당 파일을 index.php 파일과 같은 위치로 넣으니 오류 없이 뜨네요..ㅠ.ㅠ
덕분에 소기의 목적을 달성하게 됐습니다.. ㅎㅎㅎ 감사합니다.
이제..... 바뀐게 바로 적용되게끔만 하면 될듯한데... 이건.... 또 해봐야겠네요.
암튼. 정말 감사드립니다. (_ _)
그부분은 ajax jason 검색하시면 되구요
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개

관심 가져 주셔서 감사드립니다... (_ _)
어떻게 해야된다하는게 이해는 되는데.... 그걸 어떻게 구현해야 될지 모르겠어요.. ㅠ.ㅠ

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