(그누5) 셀렉트폼 선택값을 DB로 인서트 또는 업데이트하는 방법
본문
다른 분 셀렉트폼을 따와서 아래와 같이 작성해보았습니다.
<?$selbox=array("","출근","퇴근","휴가중","외근중"); reset($selbox);?>
<form method='post' action='<?=$_SERVER[PHP_SELF]?>'>
<input type="hidden" name='mb_5' value="<?=$mb_5?>">
<select name='mb_5' class=input>
<?php
for($m=0; $m<=count($selbox)-1; $m++)
{if($m==0) $selboxdsp='상태 '; else $selboxdsp=$selbox[$m];
if($stat_kind==$m)
echo"<option value='$m' selected>{$selboxdsp}</option>";
else echo"<option value='$m'>{$selboxdsp}</option>";
}?>
</select><input type="submit" value="Select" alt="">
</td></form>
</tr>
<?
$sql = "insert into `mb_5` values('$mb_5')";
sql_query($sql);
?>
여기서 셀렉트된 값을 db에 인서트 하거나 업데이트해야할 텐데 어떻게 해야 할지 모르겠습니다.
최종목적은 회원정보 mb_5 여분필드에 현재의 회원상태정보를 보내려고 합니다.
잘못된 점을 지적해주시고 뭣이 중한지를 좀 알려주세요.
* 그누보드와 PHP와 Mysql 공부한지 얼마되지 않았습니다. 그래서 뭣이 중한지 잘몰라요
답변 1
<?php
$selbox = array("상태","출근","퇴근","휴가중","외근중");
// reset($selbox); 이건 왜 있는건지 모르겠군요
if ($_POST['mb_5_insert'] == "ok") {
sql_query(" insert `g5_member` into `mb_5`='" . $_POST['mb_5'] . "' ");
}
?>
<form method='post'>
<input type="hidden" name="mb_5_insert" value="ok">
<select name='mb_5' class="input">
<?php
for ($m=0; $m<count($selbox); $m++) {
// $stat_kind는 DB에서 이 회원의 상태 값을 받아온 값이겠군요.
?>
<option value="<?php echo $m; ?>" <?php if ($stat_kind == $m) echo "selected"; ?><?php echo $selbox[$m]; ?></option>
<?php
}
?>
소스를 보니까 회원정보 리스트에 끼여있는 부분 (쉽게 말해 반복문 안에 있는 부분) 같은데,
일단은 그누보드5 환경, 단일 폼이라 생각하고 수정해보았습니다.
그리고 php를 열고 닫는 부분에서 여는 부분에는 <? 가 아닌 <?php 로 시작하는 것을 권장드립니다.
폼에서 action='<?=$_SERVER[PHP_SELF]?>' 이 부분도 마찬가지로
<?php echo $_SERVER[PHP_SELF]; ?> 형태로 쓰시는 것을 권장드리구요.
폼에서 action은 적지않으면 그 페이지에서 처리됩니다.
(action='<?=$_SERVER[PHP_SELF]?>' 와 같습니다.)
!-->