wr_content 내용저장 방법 채택완료
고수님들,,,안녕하세요ㅠㅠ
새로운 것을 해결하면 계속 새로운 문제들이 발생하는 것 같아요
제가 wr_content의 값을 표로 입력받아서 저장하고 있는데 이제 이 표가 동적으로 작동을 해서 표 개수가 늘어가는데 그에 따라서 write_update.skin.php에서 어떻게 저장할 수 있는지 물어보고 싶어서 질문글 남겼습니다
write_update.skin.php
</p>
<p><?php</p>
<p>if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가</p>
<p> </p>
<p>$wr_content = "$wr_content_name[0] $wr_content_name[1] $wr_content_name[2]";</p>
<p> </p>
<p>$sql = " update $write_table</p>
<p> set wr_content = '$wr_content'</p>
<p> where wr_id = '$wr_id' ";</p>
<p>sql_query($sql);</p>
<p>?></p>
<p>
현재는 이렇게 세개의 값만 배열로 받아 저장할 수 있는데 저는 이제 동적으로 늘어나는 내용의 값들도 저장을 하고 싶은데 도저히 방도가 생각이 나지 않아 질문드립니다ㅠ
write.skin.php
</p>
<p> <label for="wr_content" style="display:none;">혼합사료</label></p>
<p> <div id ="feed_type_box" style=" overflow-y:scroll;" class="wr_content <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>" placeholder="특이사항"></p>
<p> <table style="width:100%;"></p>
<p> <thead></p>
<p> <tr style="background-color:#eeefff; height:40px; margin-top:10px; padding:18px; border-radius:7px;"></p>
<p> <th>사료명</th></p>
<p> <th>투입량입력</th></p>
<p> <th>0.0</th></p>
<p> <th>투입비율</th></p>
<p> <th>선택제거</th></p>
<p> </tr></p>
<p> </thead></p>
<p> <tbody></p>
<p> </p>
<p> </tbody></p>
<p> </table></p>
<p> </div></p>
<p>
여기 테이블을 이렇게 만들었고
</p>
<p><script></p>
<p> function addFeedName(e){</p>
<p> cnt ++;</p>
<p> $("#feed_type_box tbody").append("<tr id='redbackground' class='removeButton"+cnt+"'>");</p>
<p> $("#feed_type_box tbody").append("<td><span class='removeButton"+cnt+"'>"+feedIdRandom+"</span></td>");</p>
<p> $("#feed_type_box tbody").append("<td><input type='text' name='wr_content_name[0]' class='removeButton"+cnt+"'></td>");</p>
<p> $("#feed_type_box tbody").append("<td><input type='text' name='wr_content_name[1]' class='removeButton"+cnt+"'></td>");</p>
<p> $("#feed_type_box tbody").append("<td><input type='text' name='wr_content_name[2]' class='removeButton"+cnt+"'></td>");</p>
<p> $("#feed_type_box tbody").append("<td><input type='button' id='removeButton' onclick='removeContent(this);' class='removeButton"+cnt+"' value='제거'></td>");</p>
<p> $("#feed_type_box tbody").append("</tr>");</p>
<p> }</p>
<p></script></p>
<p>
아래에 스크립트 코드에는 append함수를 사용해서 버튼이 눌리면 tr td를 추가하도록 만들었습니다!!
너무 바쁘시겠지만 한번만 ㅠㅠㅠ 도와주세요ㅜㅜ
==>wr_content의 테이블 내용을 동적 배열로 받아 저장할 수 있는 방법
답변 1개
</p>
<p><?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_content = "$wr_content_name[0] $wr_content_name[1] $wr_content_name[2]";</p>
<p> </p>
<p>// 쿼이 처리
$sql = " update $write_table ";</p>
<p> </p>
<p>// 동적배열 쿼리 처리</p>
<p>$wr_content_add = '';</p>
<p>for($i=0; $i < 2; $i++){</p>
<p> if( isset(wr_content_name[$i]) ){</p>
<p> if($wr_content_add){</p>
<p> $wr_content_add = '☞'; // 구분자 문자</p>
<p> }</p>
<p> $wr_content_add = wr_content_name[$i];</p>
<p> }</p>
<p>}</p>
<p>$wr_content .= $wr_content_add;</p>
<p> </p>
<p>$sql .= " set wr_content = '$wr_content' ";</p>
<p>$sql .= " where wr_id = '$wr_id' ";
sql_query($sql);
?></p>
<p>
간단하게 짜봤는데, 일반적으로 저장만 하면 구분지어두신 내용을 다시 불러오실 때 구분지어 출력되지 않습니다.
하여 구분자를 임의로 정해서 구분자로 나누어주었습니다.
다만 위 방법으로도 항목별 구분은 되지 않고 섹션별 구분만 가능합니다.
이를 해결하기에 가장 좋은 방법은 컬럼을 짜는 것, 직렬화를 사용하는 것 2가지가 있습니다.
답변에 대한 댓글 5개
그게 아니면, wr_content_name을 그냥 []으로 놓으시고 wr_content_name의 length만큼 만복시켜도 되고요.
write_update.skin.php(정상작동코드)
[code]
for($i=0; $i < count($wr_content_name); $i++){
if( isset($wr_content_name[$i]) ){
$wr_content .= $wr_content_name[$i] ;
}
}
[/code]
write_update.skin.php(구분문자 넣은 코드)
[code]
$spacing_word = ' ';
for($i=0; $i < count($wr_content_name); $i++){
if( isset($wr_content_name[$i]) ){
$wr_content .= $wr_content_name[$i] ;
$wr_content .= $spacing_word ;
}
}
[/code]
지금 하고 있는데 DB에 저장될 때 wr_content마지막에 저장되는 배열은 뒤 부분이 끊어져서 저장이 되더라구요,,,흑 어떻게 하면 좋을까요??ㅠㅠㅠㅠ
더 상세히... 설명 부탁드려요 무슨 말씀인지 이해가 안갑니다.
예로 데이터도 어떻게 입력했고 어떻게 출력되는지 부탁드립니다.
그렇게 질문하시면 경우의 수가 너무 많아요 ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
[code]
for($i=0; $i < 2; $i++){
if( isset(wr_content_name[$i]) ){
if($wr_content_add){
$wr_content_add = '☞'; // 구분자 문자
}
$wr_content_add = wr_content_name[$i];
}
}
[/code]
이 방식으로 진행하려면 $i<2 이 부분을 추가된 갯수만큼 가져와야될텐데 추가된 행의 개수를 write_update.skin.php로 가져올 수 있는 방법은 없을까요?