이런거 어떻게 처리해야 하나요 ?
본문
게시판에서 상품코드를 여러개 입력받는 필드가 wr_3 입니다.
write_update.skin.php 파일에 아래와 같이 코드를 작성해서 저장되는데
<?php
?>
print_r($_POST);
$count = count($_POST['it_id'])-1;
for($i=0;$i<count($_POST['it_id']);$i++) {
$wr_3 .= $_POST['it_id'][$i];
}
sql_query("update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id'");
?>
문제는 각각 구분 기호를 넣고 싶어서
$wr_3 .= $_POST['it_id'][$i]."|"; 이렇게 하면 맨 마지막에 "|" 기호로 인하여
불러오는 쪽에서 explode("|",xxxx); 이런식으로 하면 항상 한개가 더 나온다는 겁니다. 공백으로
이럴땐 어떻게 처리하는게 좋을까요 ?
몇일째 스케쥴때문에 급하게 작업하다 보니 머리가 잘 안 돌아가네요 ㅠ.ㅜ
답변 5
$wr_3 = implode('|', $_POST['it_id']);
입력시 마지막 체크를 해서 |를 넣지 않으시거나
사용할때 공백값을 사용안하시도록 하시면 되지 않을까요?
explode 함수 자체에서 지원하는거를 물어보신거면 다음분이 잘 대답해 주실겁니다.
저 같은경우는 선처리를 합니다..
$arr_wr_3 = array();
print_r($_POST);
$count = count($_POST['it_id'])-1;
for($i=0;$i<count($_POST['it_id']);$i++) {
$arr_wr_3 = $_POST['it_id'][$i];
}
$sql_common = implode("|", $arr_wr_3);
sql_query("update $write_table set wr_3 = '$sql_common' where wr_id = '$wr_id'");
캬.... implode 함수로 처리하면 한줄이면 끝납니다.
공부좀 하세요~ 팀장님~
상품 코드관련 이라면 중간에 널이 들어갈 가능성은 없어보이고
내용을 보면 상품코드를 기준으로 해서 액션이 실행되는 코드인거같으니.
뿌릴때 반복문돌리면서
if(배열명 != "" || 배열명 != null){
하고싶은 코드작업
}
이러면 끝