배열처리
| Zeroboard 4
Posted at 2014/02/03 19:17
특화된 스킨이 있죠. 제목처럼 무슨 매매스킨이나 쇼핑몰 스킨등등,,

그런 스킨들은 보통 입력할 내용이 기존 글쓰기보다 많죠.
쇼핑몰 스킨이라면 사이즈, 컬러, 가격,, 등등 말이죠
그럴때 사용하시면 됩니다.


제로보드에 검색해보시면 관련 팁이 있기는 한데 보통 js(자바스크립트)로 처리를 하더군요
그럴경우 js가 오류가 날수도 있고 그걸 방지하기 위해서 여기,,, 저기,, onclick 이벤트등을 남발? 하기도 하구요.


그러지말고 그냥 php를 이용해서 처리해보도록 하겠습니다.




[[[[[ 순서 1 ]]]]]



bbs/write_ok.php에서 위쪽의 //사용권한 체크,, 가 끝나는 부분 아래로 아래의 코드추가


if($id=="ajaxCom"){ // 특정게시판
 $memo1 = array($_POST['s_memo']); // 순서 1에서 배열처리한 input
 $memo = implode("||", $memo1[0]); // 배열(||) 처리해서 insert
}


 



위와 같이 배열로 처리해서 $memo변수에 모두 때려넣어버린다.


 


 


[[[[[ 순서 2 ]]]]]


if($id=="ajaxCom"){ // 특정게시판
 $memo = explode("||",$memo);
}

라는 내용을 php 파일로 만들어서 (예 : memo_array.php)
제로보드가 설치된 폴더(예 : bbs)에 업로드 합니다.


그리고 스킨의 view.php, write.php 파일의 상단에 아래와 같이 인클루드 해줍니다.
include_once "memo_array.php";



 



참고 1
memo_array.php 파일을 bbs에 업로드 하지않고 스킨폴더안에 업로드했다면
인클루드 경로는 include_once $dir."/memo_array.php"; 이렇게 되겠죠.



참고 2
파일로 만들지 않았다면 스킨의 view.php, write.php 파일의 상단에

if($id=="ajaxCom"){ // 특정게시판
 $memo = explode("||",$memo);
}

라는 코드를 직접 넣어주셔도 되겠죠.

이후 효율적인 측면을 생각한다면 파일로(.php)로 만드는것이 좋을겁니다.
 


 


 


 


[[[[[ 순서 3 ]]]]]


스킨폴더안에 write.php에서는 아래와 같이 배열처리 (예 : memo 필드를 이용, id는 빼도 됨)


추가 1 : <input type="text" id="s_memo0" name="s_memo[]" <?=size(80)?> class="gTb_ipt" value="<?=$memo[0]?>" />
추가 2 : <input type="text" id="s_memo1" name="s_memo[]" <?=size(80)?> class="gTb_ipt" value="<?=$memo[1]?>" />
추가 3 : <input type="text" id="s_memo2" name="s_memo[]" <?=size(80)?> class="gTb_ipt" value="<?=$memo[2]?>" />


참고 : 배열을 0부터 시작됨.


 


 


 


 


 


[[[[[ 순서 4 ]]]]]


스킨의 view.php에서 출력할때는 아래와 같이



추가 1 : <?=$memo[0]?>
추가 2 : <?=$memo[1]?>
추가 3 : <?=$memo[2]?>


 


 


특정 게시판은 if문 쓰시구요

<?if($id=="ajaxCom"){// 특정 게시판 만?>
추가 1 : <?=$memo[0]?>
추가 2 : <?=$memo[1]?>
추가 3 : <?=$memo[2]?>
<?}else{?>
<?=$memo?>
<?}?>




 


참고

for문으로 모두 처리시


<?
$memo = explode("||",$memo);
for($i=0; $i<=count($memo); $i++){
 echo $memo[$i]."<br />\n";
}
?>

 댓글 남기기