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

$bf_content 분할저장하는 방법 채택완료

망이망소이 5년 전 조회 1,718

'파일설명사용'을 체크후

첨부파일의 설명을 사용하고자 하는데

하고싶은건 값을 여러개 분할해서 저장하고싶습니다.

아래와 같이했는데 잘 안되서 조언 좀 부탁드립니다.

</p>

<p><input type="file" name="bf_file[10]" title="파일첨부" class="frm_file frm_input" id="reg_mb_img10">

                    <?php if ($is_file_content) { ?>  

                <?

                $bf_content = explode("|",$bf_content[10]); //제품정보</p>

<p>                $bf_name = $bf_content[0];

                $bf_size01 = $bf_content[1];

                $bf_size02 = $bf_content[2];

                ?>

                제품명 <input type="text" name="bf_name" value="<?php echo ($w == 'u') ? $bf_name : ''; ?>" class="frm_input" size="30">

                제품크기 <input type="text" name="bf_size01" value="<?php echo ($w == 'u') ? $bf_size01 : ''; ?>" class="frm_input" size="30">

                제품크기 <input type="text" name="bf_size02" value="<?php echo ($w == 'u') ? $bf_size02 : ''; ?>" class="frm_input" size="30">

                    

                    <input class="frm_input" size="20" maxlength="20" name="wr_31" value='<?=$write['wr_31']?>' placeholder="가격">

                    <?php } ?></p>

<p>

 

write_update.skin.php

</p>

<p>$sql = " update {$g5['board_file_table']}

                        set bf_content = '{$bf_content[10]}'

                        where bo_table = '{$bo_table}'

                                  and wr_id = '{$wr_id}'

                                  and bf_no = '{$i}' ";

            sql_query($sql);</p>

<p>

 

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

답변 2개

채택된 답변
+20 포인트
5년 전

name="bf_file[0]" ~ name="bf_file[9]" <--이것은 어떻게 되는가요?

어쨌든 위 코드는 11번째 첨부화일만 하나만 처리하는 것입니다

 

4~7행  $bf_content<--변수명 변경 $bf_contentk

 

write_update.skin.php

$bf_content[10] = $bf_name.'|'.$bf_size01.'|'.$bf_size02;

$sql = " update ~~~ and bf_no = '10' ";

 

 

 

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

답변에 대한 댓글 1개

망이망소이
5년 전
덕분에 해결했습니다.
첨부파일을 따로 출력하기 위해 번호를 따로 매겨 쓰고 있습니다.

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

진서기
5년 전

bf_file[] 와 같이 사용합니다. 

bf_content 도 bf_content[] 로 사용해야 합니다. 

위 소스에는 bf_content input이 업으니 넘기는 값도 없습니다. 

set bf_content = '{$bf_content[10]}'  는 

$컨텐츠 = "{$bf_name}|{$bf_size01}|{$bf_size02}|{$추가할input name 지정}";

 

set bf_content = '{$컨텐츠}'

로 해야합니다.

 

그리고 write_update.skin.php 파일에서 업데이트시 파일의 순서값인 $i를 받아와야 합니다. 위처럼 하면 $i 값이 없습니다.

 

//업로드가 있다면

if ($upload) {

            for ($i = 0; $i < count($upload); $i++) {

 

$sql = " UPDATE `{$g5['board_file_table']}` set `bf_content` = '{$bf_content[$i]}', `bf_download_point` = '{$bf_download_point[$i]}' where `bo_table` = '{$bo_table}' and `wr_id` = '{$wr_id}' and `bf_no` = '{$i}' limit 1 ";

                        sql_query($sql);

               }//for

 

 

            }

        }

위처럼 하면 되는데 

 

파일첨부가 하나라면 for문이 필요없이 bf_content[0]과 같이하면 되겠지만 하나 이상이라면 for문으로 저장해야합니다.

 

데이터 추가 부분인 bf_name 도 여러개의 상품을 등록한다면 bf_name[] 과 같이 처리해야합니다.

 

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

답변에 대한 댓글 1개

망이망소이
5년 전
감사합니다. 많은 도움이 됐습니다. 먼저오신분께 드렸습니다. ^^

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

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

로그인