테스트 사이트 - 개발 중인 베타 버전입니다

행 추가하고 나서 db에는 왜 하나만 저장이 될까요.. 채택완료

시로님 9년 전 조회 4,081

 

 

       

       

           

 

           

           

       

       

   

학력

                 

               

             

               

           

 

 

왕계란님의 도움으로 제이쿼리를 이용해 버튼을 누르면 행이 추가되게끔 완성하였습니다.

 

제가 이해가 안되는 부분이

 

name값을 wr_1로 주면 잘 저장이 되고 나타나지만

 

행을 추가했을때에는 최근에 추가된 행에만 값이 저장이 되어 

 

list화면에 하나의 글만 나타나고 있습니다.

 

for으로 돌려보니 그냥 한번에 다 나와버리고..

 

행 추가하여 내용을 입력할때 보통 어떻게 name값을 주어서 저장을 시키나요?

 

저는 가장 최근의 글 하나만 저장되어 출력이 됩니다. 

 

그리고 수정을 누르면 역시 최신에 추가했던 행만 나타나있고 기존의 행은 삭제되어있습니다. ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
잉끼s
9년 전

name="wr_1[]"

 

위와같이 배열로 하시고  

 

db 입력 부분도 배열로 받은 부분을

 

 

$wr_1 = implode('|', $_POST['wr_1']); 각 배열을 하나로 묶어주시고

 

출력부분에서

 

$wr_1 = explode('|', $_WRITE['wr_1']);

 

다시 나누어서 출력해주셔야 합니다.

 

단지 입력단을 늘렷다고 해서 그대로 다 들어가지는 않습니다.  

 

지금 하시고 싶은 작업은 하셔야 할 총 작업 중 25% 쯤 하신 것으로 보입니다. 화이팅!!! 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

시로님
9년 전
잉끼다님 말씀대로 wirte_update.skin.php 페이지에

$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 } ?>

이렇게 써주어봤는데 출력은 역시 하나만 나오는데요ㅜㅜ

뭘 잘못썻을깡..

댓글을 작성하려면 로그인이 필요합니다.

잉끼s
9년 전

리스트에서도

</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개

시로님
9년 전
<?php if($list[$i]['wr_1']){
$wr_1 = explode("|", $list[$i]['wr_1']);
echo "· 학 력 <br />";
for($j=0; $j<count($wr_1); $j++) {
echo "&nbsp;&nbsp;&nbsp;- ".$wr_1[$j]."<br />";
}
}
?>

이렇게 해서 완성하였습니다.

배열에 대한 개념이 부족하여 다 알려주신건데도 헤맸네요..감사합니다 ㅜㅜ

댓글을 작성하려면 로그인이 필요합니다.

플라이
9년 전

name을 고정 wr_1로만 해서 전달하지 마시고 wr_1[]로 하셔서 전달하셔야 합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인