테스트 사이트 - 개발 중인 베타 버전입니다

(그누5) 셀렉트폼 선택값을 DB로 인서트 또는 업데이트하는 방법

라이크디자인 9년 전 조회 5,512

다른 분 셀렉트폼을 따와서 아래와 같이 작성해보았습니다. 

 

 

 

<?$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='상태&nbsp;'; 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개

</span> </p><p><span style="font-size: 11pt; line-height: 1.5;"><?php</span> </p><p>$selbox = array("상태","출근","퇴근","휴가중","외근중"); </p><p>// reset(<span style="font-size: 14.6667px; line-height: 1.5;">$selbox</span><span style="font-size: 11pt; line-height: 1.5;">); 이건 왜 있는건지 모르겠군요</span></p><p> </p><p>if ($_POST['mb_5_insert'] == "ok") {</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>sql_query(" insert `g5_member` into `mb_5`='" . $_POST['mb_5'] . "' ");</p><p>}</p><p>?></p><p><form method='post'></p><p><input type="hidden" name="mb_5_insert" value="ok"></p><p><select name='mb_5' class="input"><span class="Apple-tab-span" style="white-space:pre">	</span></p><p><?php </p><p>for ($m=0; $m<count($selbox); $m++) {</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>// $stat_kind는 DB에서 이 회원의 상태 값을 받아온 값이겠군요.</p><p>?></p><p><span class="Apple-tab-span" style="white-space:pre">	</span><option value="<?php echo $m; ?>" <?php if ($stat_kind == $m) echo "selected"; ?><span style="font-size: 11pt; line-height: 1.5;"><?php echo $selbox[$m]; ?></span><span style="font-size: 11pt; line-height: 1.5;"></option></span></p><p><?php</p><p>}</p><p>?></p><p>

 

 

소스를 보니까 회원정보 리스트에 끼여있는 부분 (쉽게 말해 반복문 안에 있는 부분) 같은데,

 

일단은 그누보드5 환경, 단일 폼이라 생각하고 수정해보았습니다.

 

그리고 php를 열고 닫는 부분에서 여는 부분에는 <? 가 아닌 <?php 로 시작하는 것을 권장드립니다.

 

폼에서 action='<?=$_SERVER[PHP_SELF]?>' 이 부분도 마찬가지로 

 

<?php echo $_SERVER[PHP_SELF]; ?> 형태로 쓰시는 것을 권장드리구요. 

 

폼에서 action은 적지않으면 그 페이지에서 처리됩니다. 

(action='<?=$_SERVER[PHP_SELF]?>' 와 같습니다.)

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

라이크디자인
9년 전
감사합니다. ^^

뭔가 정리되는 것 같은 생각이 듭니다.

앞으로 조언해주신 대로 하겠습니다.

풀어주신 것대로 대치해서 해보았습니다만

셀렉트값에 공백만 들어오는 것 같습니다.

mb_5(회원정보 여분필드)에 아무런 값이 들어가지 않네요.
P
PlayPixel
9년 전
음.. 해결하려면 이 부분이 포함된 소스 전체를 봐야 할 것 같네요.

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

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

로그인