form 전송을 할 때 input name 이 동적으로 생성이 됩니다.(배열 형식이 아닙니다.)
이때 form 전송을 하면 저장되는 부분에서 변수로 받아 줘야 할 텐데 저장되는 부분에서 어떻게 처리를 해주어야 하나요..??
1. main.php
<form>
<input type="text" name="audlt" value="1"> // adult가 동적으로 생성된 것입니다.
<input type="text" name="num" value="1">
</form>
2.save.php
@mysql_query("UPDATE db_table SET
audlt='".$audlt."' <== form에서 전송되는 값인 $audlt를 받아서 저장을 해야하는데 이 부분을 어떻게 동적으로 생성해야 하는지 궁금합니다.(결론적으로 쿼리문이 동적으로 생성되어야 하는 상황입니다.)
WHERE num='$num'");
답변 3개 / 댓글 1개
채택된 답변
+20 포인트
Copy
$fixed_post = array('name', 'field1'); $query = array(); $query[] = "`field1` = '{$_POST['field1']}'";foreach($_POST as $key => $val){ if(in_array($key, $fixed_post) == false){ $query[] = "`{$key}` = '{$val}'"; }}mysql_query("UPDATE `db_table` SET " . implode(', ', $query) . " WHERE `num` = '{$_POST['num']}'");
답변을 작성하려면 로그인이 필요합니다.
예를 들어 관리자 페이지에서 특정메뉴(필드)를 생성하는 기능이 있는 보드가 있는데 이때 사용자는 관리자 페이지에서 특정메뉴만 생성 할뿐 쿼리문을 수정하지 안잖아요
자동메뉴생성하는 경우와 같다고 보면될것 같아요(근데 그런 서비스를 제공하는 보드는 저장부분이 인코딩되어 있어서 확인이 불가능 하더라고요)