게시물 수정할때 file 값 문제입니다... 채택완료
</p>
<p><form></p>
<p> <input type="hidden" name="is_id" value="<?php echo $is_id; ?>"></p>
<p> <textarea name="is_content" value="is_content"></textarea></p>
<p> <?php for ($i=1; $i<4; $i++) { ?></p>
<p> <input type="file" name="bf_file[]" id="bf_file_<?php echo $i ?>"></p>
<p> <?php } ?></p>
<p></form></p>
<p>
</p>
<p>$is_content = trim($_POST['is_content']);</p>
<p>$is_id = (int) trim($_REQUEST['is_id']);</p>
<p>if($w == ""){</p>
<p> $sql = "insert g5_shop_item_use</p>
<p> set is_content = '$is_content',</p>
<p> bf_file1 = '{$_FILES['bf_file']['name'][0]}',</p>
<p> bf_file2 = '{$_FILES['bf_file']['name'][1]}',</p>
<p> bf_file3 = '{$_FILES['bf_file']['name'][2]}'</p>
<p> where is_id = '$is_id' ";</p>
<p> sql_query($sql);</p>
<p>} else if($w == "u"){</p>
<p> $sql = "update g5_shop_item_use</p>
<p> set is_content = '$is_content',</p>
<p> bf_file1 = '{$_FILES['bf_file']['name'][0]}',</p>
<p> bf_file2 = '{$_FILES['bf_file']['name'][1]}',</p>
<p> bf_file3 = '{$_FILES['bf_file']['name'][2]}'</p>
<p> where is_id = '$is_id' ";</p>
<p> sql_query($sql);</p>
<p>}</p>
<p>
안녕하세요. 점심은 맛있게 드셨나요?
필드에는 bf_file1, bf_file2, bf_file3을 만들어서 글 등록까지는 문제없이 잘 되고 있습니다.
근데 글 수정누르고 아무것도 입력안한 상태에서 다시 submit을 하면 is_content 부분은 유지 되는데 (그누보드에서 가져온거라서 어떻게 유지 되는지는 모르겠습니다. 그래서 지금 질문 글에서는 value="is_content"를 넣었습니다.)
파일 부분은 유지가 안됩니다. update bf_file1,2,3 이부분 때문에 공란으로 들어간다는건 알게됐습니다.
근데 글 수정할때 이미 들어간 파일을 지우고 다시 업로드를 하는게 불편할거 같아서 덮어쓰기가 가능하게 update에 bf_file1,2,3을 넣었습니다.
질문은 첫 등록시 123.png 라는 첨부파일을 넣었다 치고 수정할때는 is_content만 바꿔서 올리면 DB에 bf_file1이 공란이 됩니다. 이걸 어떻게 하면 같은 파일을 다시 선택안하고 유지시킬 수 있을까요?
답변 1개
지금 하신 소스는 업로드한 파일정보를 넣는거라서 그렇습니다.
업로드 한 파일을 값이 있는때만 넣도록 변경하시면 될거 같습니다.
$sql_add = "";
if({$_FILES['bf_file']['name'][0]}) $sql_add .= ,bf_file1 = '{$_FILES['bf_file']['name'][0]}'";
~~
이런식으로 2,3추가하시고
$sql = "update g5_shop_item_use
set is_content = '$is_content',
bf_file1 = '{$_FILES['bf_file']['name'][0]}',
bf_file2 = '{$_FILES['bf_file']['name'][1]}',
bf_file3 = '{$_FILES['bf_file']['name'][2]}'
where is_id = '$is_id' ";
를
$sql = "update g5_shop_item_use set is_content = '$is_content' $sql_add where is_id = '$is_id' ";
로 해보세요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
덕분에 원하는 방법으로 적용이 됐습니다~^^