행 추가하고 나서 db에는 왜 하나만 저장이 될까요.. 채택완료
$(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();
}
});
});
| 학력
|
|
왕계란님의 도움으로 제이쿼리를 이용해 버튼을 누르면 행이 추가되게끔 완성하였습니다.
제가 이해가 안되는 부분이
name값을 wr_1로 주면 잘 저장이 되고 나타나지만
행을 추가했을때에는 최근에 추가된 행에만 값이 저장이 되어
list화면에 하나의 글만 나타나고 있습니다.
for으로 돌려보니 그냥 한번에 다 나와버리고..
행 추가하여 내용을 입력할때 보통 어떻게 name값을 주어서 저장을 시키나요?
저는 가장 최근의 글 하나만 저장되어 출력이 됩니다.
그리고 수정을 누르면 역시 최신에 추가했던 행만 나타나있고 기존의 행은 삭제되어있습니다. ㅜㅜ
답변 3개
name="wr_1[]"
위와같이 배열로 하시고
db 입력 부분도 배열로 받은 부분을
$wr_1 = implode('|', $_POST['wr_1']); 각 배열을 하나로 묶어주시고
출력부분에서
$wr_1 = explode('|', $_WRITE['wr_1']);
다시 나누어서 출력해주셔야 합니다.
단지 입력단을 늘렷다고 해서 그대로 다 들어가지는 않습니다.
지금 하시고 싶은 작업은 하셔야 할 총 작업 중 25% 쯤 하신 것으로 보입니다. 화이팅!!!
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
리스트에서도
</p><p><?php </p><p>$wr_1 = explode('|', $_WRITE['wr_1']);</p><p>for($i=0;$i<count($wr_1);$i++)</p><p style="margin-left: 40px;">echo "<li>{$wr_1[$i]}</li>";</p><p>?> </p><p>
이렇게 주셔야죠.
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 />";
}
}
?>
이렇게 해서 완성하였습니다.
배열에 대한 개념이 부족하여 다 알려주신건데도 헤맸네요..감사합니다 ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인

$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 } ?>
이렇게 써주어봤는데 출력은 역시 하나만 나오는데요ㅜㅜ
뭘 잘못썻을깡..