<script type="text/javascript">
$(function() {
$("#add-obj").click(function() {
var obj = $("#tbl").find("input.ed");
obj.last().clone().insertAfter(obj.last());
});
$("#remove-obj").click(function() {
var obj = $("#tbl").find("input.ed");
var len = obj.length;
if(len == 1) {
alert("더이상 삭제 안 됨");
} else {
$("#tbl").find("input.ed").last().remove();
}
});
});
</script>
<table id='tbl' border="0" cellspacing="0" cellpadding="0" background="#ddd" width="100%">
<tbody>
<tr>
<td class=write_head style="width:85px">학력<br>
<span id="add-obj" style="cursor:pointer;"><img src="<?=$board_skin_path?>/img/btn_file_add.gif"></span>
<span id="remove-obj" style="cursor:pointer;"><img src="<?=$board_skin_path?>/img/btn_file_minus.gif"></span>
</td>
<td>
<input class='ed' style="width:99%;" name="wr_1" itemname="학력" required value="<?=$write['wr_1']?>">
</td>
<tr><td colspan=2 height=1 bgcolor=#e7e7e7></td></tr>
</tr>
</tbody>
</table>
왕계란님의 도움으로 제이쿼리를 이용해 버튼을 누르면 행이 추가되게끔 완성하였습니다.
제가 이해가 안되는 부분이
name값을 wr_1로 주면 잘 저장이 되고 나타나지만
행을 추가했을때에는 최근에 추가된 행에만 값이 저장이 되어
list화면에 하나의 글만 나타나고 있습니다.
for으로 돌려보니 그냥 한번에 다 나와버리고..
행 추가하여 내용을 입력할때 보통 어떻게 name값을 주어서 저장을 시키나요?
저는 가장 최근의 글 하나만 저장되어 출력이 됩니다.
그리고 수정을 누르면 역시 최신에 추가했던 행만 나타나있고 기존의 행은 삭제되어있습니다. ㅜㅜ
답변 3개 / 댓글 2개
name="wr_1[]"
위와같이 배열로 하시고
db 입력 부분도 배열로 받은 부분을
$wr_1 = implode('|', $_POST['wr_1']); 각 배열을 하나로 묶어주시고
출력부분에서
$wr_1 = explode('|', $_WRITE['wr_1']);
다시 나누어서 출력해주셔야 합니다.
단지 입력단을 늘렷다고 해서 그대로 다 들어가지는 않습니다.
지금 하시고 싶은 작업은 하셔야 할 총 작업 중 25% 쯤 하신 것으로 보입니다. 화이팅!!!
답변에 대한 댓글 1개
리스트에서도
<?php $wr_1 = explode('|', $_WRITE['wr_1']);for($i=0;$i<count($wr_1);$i++)echo "<li>{$wr_1[$i]}</li>";?>
이렇게 주셔야죠.
implode(). explode()
이런 함수를 알게 되면 검색해서 찾아보세요. 무슨 용도로 쓰이는지..
답변에 대한 댓글 1개
$wr_1 = explode("|", $list[$i]['wr_1']);
echo "· 학 력 <br />";
for($j=0; $j<count($wr_1); $j++) {
echo " - ".$wr_1[$j]."<br />";
}
}
?>
이렇게 해서 완성하였습니다.
배열에 대한 개념이 부족하여 다 알려주신건데도 헤맸네요..감사합니다 ㅜㅜ
name을 고정 wr_1로만 해서 전달하지 마시고 wr_1[]로 하셔서 전달하셔야 합니다.
답변을 작성하려면 로그인이 필요합니다.
$wr_1 = implode("|",$_POST['wr_1']);를 입력해주고
echo $wr_1; 해보니 입력한대로 array1|array2 가 잘나옵니다.
근데 리스트에서
<?php if($list[$i]['wr_1']){?><li><?=explode("|",$list[$i]['wr_1'])?></li><?php } ?>
이렇게 써주어봤는데 출력은 역시 하나만 나오는데요ㅜㅜ
뭘 잘못썻을깡..