채택완료

파일설명 bf_content를 활용하고싶습니다.

Copy
<?php for ($i=5; $is_file && $i<=19; $i++) { ?>        <tr>            <th scope="row">파일 #<?php echo $i-4 ?></th>            <td>                <input type="file" name="bf_file[]" title="파일첨부 <?php echo $i+1 ?> :  용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file frm_input">				<?php if($w == 'u' && $file[$i]['file']) { ?>                <input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i;  ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')';  ?> 파일 삭제</label>                <?php } ?>				<?				$bf_content = explode("|",$bf_content[$i]); //제품정보				$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">            </td>        </tr><?php } ?>


첨부파일마다 제품명과 크기를 넣고싶은데 bf_content필드를 나눠서 써보려니 DB입력이 안되네요..;;

가능은할듯한데 어떻게 사용해야할지 입력방식을 모르겠습니다.

고수님들 조언부탁드립니다..^^

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

등록/적용 쿼리실행 이전 부분에

최종 만들어진 $bf_content 스트링이 어떤 형태인지,

콘솔에서 스트링을 포함한 전체 쿼리만 따로 실행시 제대로 등록이 되는지

확인하셔야 될것 같습니다.


그리고

n * n (n개의 파일정보는 n개의 파일부가정보를 필요) 인데

하나의 필드에 모두 저장을 시도하는 것이라면

추가적인 구분자가 또 필요할것 같습니다.


ex) file1_name|file1_size;file2_name|file2_size;file3_name|file3_size

답변에 대한 댓글 1개

그누기본스킨에 적용되어있는 함수인데도 for문은 사용하기가 복잡하군요..ㅠㅠ
다른방향으로 좀더 고민해보겠습니다.

유니크한 구분자를 정하고

입력이 안되는 부분에 대해서는 DB 테이블의 필드 캐릭터 제한개수를 확인하시고 

입력할때 구분자로 각 항목을 묶고

출력할때 구분자로 각 항목을 풀어주면 될것 같습니다.


단 검색을 위해서는 위와 같은 방식으로 구성하는 것을 추천하지 않습니다.

차라리 별도의 부가 테이블을 만들어 관리하는 방식을 추천드립니다.

답변에 대한 댓글 1개

답변감사합니다. 제가 프로그램쪽 이해력이 부족해서인지 너무 어렵네요..ㅠㅠ
검색은 별도로 필요하지않을것같습니다.

말씀하신것처럼 입력할때 $bf_content[$i]를 구분자로 나눠주고 출력할때 풀어서 사용하려는데 $bf_content에 등록이 안되는게 문제입니다.

한마디로 $bf_content필드를 explode로 나눠서 사용하고싶은데 일반적인 여분필드는 잘되는데 for문으로 돌리는 파일같은경우는 다른방식을 써야하는건지 궁금하네요.

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