답없는 초보가 질문드려요~
본문
디비 sending_number 필드에 아래처럼 분할로 저장되어 있습니다.
ABC|DEF|GHI|JKL
그래서 팝업에 불러올때
<?php
@include_once('../../../../common.php'); // 일반 스킨일 때 common.php 의 위치
include_once(G5_LIB_PATH.'/common.lib.php');
$result = sql_fetch("SELECT `wr_subject`, `sending_date` , `sending_number` FROM g5_re_sending WHERE `wr_id` = $write[wr_id] ");
?>
상단에 이렇게 하구요,
중간에
<?php
$sending_number = explode("|", $write['sending_number']);
for($k=0; $k<4; $k++){
?>
<input type="text" name="sending_number[]" value="<?php echo $result['sending_number'][$k];?>" id="sending_number_<?php echo $write['wr_id'] ?>_<?=$k?>" class="date" size="13" >
<? } ?>
이렇게 하니
인풋에
ABC
DEF
GHI
JKL
이렇게 나오지 않고
A
B
C
| (구분자)
이렇게 철자 하나씩만 출력되고 끝나버리는데 어떻게 해야 할까요?
답변 3
첫번째 의문은
위쪽에서 $result 에 fetch를 했는데 explode하는 것은 왜 $write 인가입니다
<?php
$sending_number = explode("|", $write['sending_number']);
//$result['sending_number'] 가 되어야하지않을까요?
for($k=0; $k<4; $k++){
?>
<input type="text" name="sending_number[]" value="<?php echo $result['sending_number'][$k];?>" id="sending_number_<?php echo $write['wr_id'] ?>_<?=$k?>" class="date" size="13" >
<? } ?>
드번째는 또 출력할때는 $sending_number에 explode를 해놓으셨는데 input에는 $result['sending_number'][$k]라 적어 놓으셨습니다 $sending_number[$k]가 되어야 하지않을까요?
해당부분 체크해보시고 반영해보세요
<input type="text" name="sending_number[]" value="<?php echo $sending_number[$k];?>" id="sending_number_<?php echo $write['wr_id'] ?>_<?=$k?>" class="date" size="13" >
이렇게 한번 해보세요
만약에 $write['sending_number'] 값이 ABC|DEF|GHI|JKL 라면
$sending_number = explode("|", $write['sending_number']);
$sending_number가 배열이 됩니다.
그래서
$sending_number[0] = ABC;
$sending_number[1] = DEF;
$sending_number[2] = GHI;
$sending_number[3] = JKL;
이렇게 값이 들어가겠죠.
반복문은
for($k=0; $k < count($sending_number); $k++){
echo $sending_number[$k];
}