wr_content 내용 저장 방법
본문
고수님들 안녕하세요ㅠㅠㅠ
제가 지금 wr_content 안에 표 형식으로 값을 입력받아서 DB안의 wr_content안에는 그 내용들이 한줄로 입력될 수 있도록 하고 싶은데 어떻게 하면 좋을까요?
배열을 사용해서 저장해도 괜찮을 것 같나요?
<div id="wr_content" class="wr_content <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>" placeholder="특이사항">
<table>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="text"></td>
</tr>
</table>
</div>
대충 틀은 이렇게 잡고 시작하려고 하고 table 안에 들어가는 것들은 자바스크립트로 버튼 클릭시 늘어나게 하려고 합니다!!
append("<td></td>")
이런 방식으로요 그럼 이 상황에서는 배열의 이름을 어떻게 지정할 수 있을까요?ㅠㅠ
!-->답변 2
이름은 아무렇게나 동일하게만하셈 name = "content[]" 이런식으로 배열로 해주고
쿼리문날릴떄 implode로 한줄로 만들어주고
다시 뽑을때는 explode로 뽑아서 나눠서 넣고
저가 지금까지 진행한게
function addFeedName(e){
let feedId = $(e).data('name');
console.log(feedId);
e.style.visibility = 'hidden';
let feedIdRandom = document.getElementById(feedId).getAttribute('value');
console.log(feedIdRandom);
$("#feed_type_box").append("<div>"+feedIdRandom+"</div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content' class='frm_input'> </div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content' class='frm_input'></div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content' class='frm_input'></div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content' class='frm_input'></div>");
}
이 함수를 만들어 클릭시마다 feed_type_box 의 아이디를 가진 곳에 <input>태그를 넣으려고 하는 거구 input태그의 값들이 배열로 들어와 저장될 수 있도록 하려고 합니다.
여기에서 원래 name="wr_content[]"로 했었는데 값이 아예 저장되지 않았고 그 다음에 name="wr_content"로 진행하니 값은 저장이 되는데 한개의 값만 저장이 됩니다.
$wr_content = explode(" ", $write['wr_content']);
이렇게 설정을 해서 값을 가져와서 배열형태로 저장해줄 수 있도록 했구요
write_update.skin.php 파일을 만들어
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_content = "$wr_content";
$sql = " update $write_table
set wr_content = '$wr_content'
where wr_id = '$wr_id' ";
sql_query($sql);
?>
이렇게 코드를 구성했습니다!!
혹시 몰라서
<input type="hidden" name="wr_content" value="멍멍이 사료">
새로운 인풋을 만들지 않고 이렇게 앞에 적어주고 하면 다시 값은 저장이 잘 되는데
여기에서 클릭버튼으로 눌러서 인풋에 값을 입력하고 배열로 저장하려고 하면 다시 값이 저장되지 않습니다.(내용을 입력하세요라고 떠요!!)
이 때의 코드들은 조금 수정해서 했는데요
write.skin.php
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$wr_content = explode(" ", $write['wr_content']);
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
?>
<script>
$(document).ready(function() {
$(".feed_type_radio").on("click", function(e) {
e.preventDefault();
console.log(e.target.value);
$.ajax({
url : " http://localhost/bbs/dataloader/mix_data.php",
type : "post",
data : {
tbl : "g5_write_purchase_feed",
target : e.target.value
},
success : function(res) {
if(res) {
$("#feedTypeAddForm").html(res);
//alert("성공")
console.log(res)
}
},
error : function(err){
alert(err);
}
});
});
});
</script>
<section id="bo_w">
<h2 class="sound_only"><?php echo $g5['title'] ?></h2>
<!-- 게시물 작성/수정 시작 { -->
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>">
<input type="hidden" name="uid" value="<?php echo get_uniqid(); ?>">
<input type="hidden" name="w" value="<?php echo $w ?>">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="wr_subject" value="멍멍이 사료">
<input type="hidden" name="wr_content" value="멍멍이 사료">
function addFeedName(e){
let feedId = $(e).data('name');
console.log(feedId);
e.style.visibility = 'hidden';
let feedIdRandom = document.getElementById(feedId).getAttribute('value');
console.log(feedIdRandom);
$("#feed_type_box").append("<div>"+feedIdRandom+"</div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content[0]' class='frm_input'> </div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content[1]' class='frm_input'></div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content[2]' class='frm_input'></div>");
$("#feed_type_box").append("<div><input type='text' name='wr_content[3]' class='frm_input'></div>");
}
write_update.skin.php
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_content = "$wr_content[0] $wr_content[1] $wr_content[2] $wr_content[3]";
$sql = " update $write_table
set wr_content = '$wr_content'
where wr_id = '$wr_id' ";
sql_query($sql);
?>
도대체 어떻게 해결해야할지 감이 잡히지 않습니다... 제발 도와주세요!!
!-->!-->!-->!-->!-->!-->