채택완료

wr_content 내용 저장 방법

고수님들 안녕하세요ㅠㅠㅠ

제가 지금 wr_content 안에 표 형식으로 값을 입력받아서 DB안의 wr_content안에는 그 내용들이 한줄로 입력될 수 있도록 하고 싶은데 어떻게 하면 좋을까요?

배열을 사용해서 저장해도 괜찮을 것 같나요?

Copy
<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개 / 댓글 2개

채택된 답변
+20 포인트

이름은 아무렇게나 동일하게만하셈 name = "content[]" 이런식으로 배열로 해주고

쿼리문날릴떄 implode로 한줄로 만들어주고

다시 뽑을때는 explode로 뽑아서 나눠서 넣고 

답변에 대한 댓글 2개

넴 감사합니다 지금 바로 해볼게요 그런데 그럼 고수님 말씀은
name = "content[ ]"이렇게만 쓰면 된다는 건가요? content[0] 이런식으로 안에 숫자를 넣을 필요가 없나요?
그리도 궁금한게 배열을 사용하면 write.skin.php에서 업데이트로 저는
$wr_2 = $content[0] $content[1] 이런식으로 했는데
그럼 바로 $wr_2 = $content[ ] 이렇게 작성하면 되는 건가욤???
아예 name을 고수님이 말한 것처럼 하고 값을 받아서 write_update.skin.php에서 배열을 wr_content에 sql문으로 넣으니깐 되었습니다!!ㅎㅎㅎㅎ감사해용

저가 지금까지 진행한게 

Copy
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"로 진행하니 값은 저장이 되는데 한개의 값만 저장이 됩니다.

 

Copy
$wr_content = explode(" ", $write['wr_content']);

이렇게 설정을 해서 값을 가져와서 배열형태로 저장해줄 수 있도록 했구요

 

write_update.skin.php 파일을 만들어

Copy
<?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

Copy
<?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="멍멍이 사료">

Copy
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

Copy
<?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);

?>

 

도대체 어떻게 해결해야할지 감이 잡히지 않습니다... 제발 도와주세요!!

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