게시판 글쓰기 행추가 기능 질문

게시판 글쓰기 행추가 기능 질문

QA

게시판 글쓰기 행추가 기능 질문

본문

어떤 분이 올리신 글을 참고해서

글쓰기 부분에 추가 버튼을 누르면 행이 추가되는 기능을 넣었습니다.

 

write.skin.php

<?php 
            if ($w == "u") {
            $wr_6x = explode("|",substr($write['wr_6'],1));
            }
?>
<table id="table1" cellspacing="0" cellpadding="0">
            <tr class="sound_only">
                <th>구분</th>
            </tr>
            <?php 
                $wr6_cnt = count($wr_6x);
                    if(!$wr6_cnt){
                    $wr6_cnt = 1;
                    }
                for ($i = 0;  $i < $wr6_cnt; $i++) {
            ?>
            <tr>
                <td>
                    <textarea name="wr_6x[]"><?php echo $wr_6x[$i];?></textarea>
                    <input type="button" value="삭제" class="tabledel_btn" onclick="ob_adRows.delRow(this)"/>
                    <input type="button" value="추가" class="tableadd_btn" onclick="ob_adRows.addRow(this)"/>
                </td>
            </tr>
            <?php } ?>
<table id="dyntbl1" cellspacing="0" cellpadding="0"></table>
<script>
            function adRowsTable(id){
                var table = document.getElementById(id);
                var me = this;
                    if(document.getElementById(id)){
                        var row1 = table.rows[1].outerHTML;
                        function setIds(){
                        var tbl_id = document.querySelectorAll('#'+ id +' .tbl_id');
                        for(var i=0; i<tbl_id.length; i++) tbl_id[i].innerHTML = i+1;
                    }
                    me.addRow = function(btn){
                    btn ? btn.parentNode.parentNode.insertAdjacentHTML('afterend', row1): table.insertAdjacentHTML('beforeend',row1);
                    setIds();
                    }
                    me.delRow = function(btn){
                    btn.parentNode.parentNode.outerHTML ='';
                    setIds();
                    }
                    }
                }
            var ob_adRows = new adRowsTable('table1');
</script>

write_update.skin.php

<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
for ($i = 0;  $i < count($wr_6x); $i++)
{
    $wr_6 = $wr_6."|".$wr_6x[$i];
}
$sql678 = "update $write_table set
    wr_6  = '$wr_6'                     
    where wr_id = '$wr_id' ";
sql_query($sql678);
?>

입니다.
보기 페이지에
<?php echo get_view_thumbnail($view['wr_6']); ?>
로 불러오고 있는데

|행추가내용|행추가내용|행추가내용|행추가내용
위와 같이 불러와 집니다.

 

추가한 행에 입력한 내용이 위아래로 줄바꿈되게 보이게 하고 싶은데
어느 부분을 수정해야 할까요..

이 질문에 댓글 쓰기 :

답변 2

write_update.skin.php
부분에서 
for ($i = 0;  $i < count($wr_6x); $i++)
{
    $wr_6 = $wr_6."|".$wr_6x[$i];
}

이 부분을 

if(is_array($wr_6x)) $wr_6=implode("|", $wr_6x);

이렇게 바꾸시고 

출력할때 

echo str_replace("|", "<br />", $view['wr_6']);

이렇게 하시면 될듯 하네요. 

혹시 이런걸 원하시는 건지요?

 

<table id="table1" cellspacing="0" cellpadding="0">
    <tr class="sound_only">
        <th>구분</th>
    </tr>
    <?php 
    $wr6_cnt = count($wr_6x);
    if(!$wr6_cnt){
        $wr6_cnt = 1;
    }
    for ($i = 0; $i < $wr6_cnt; $i++) {
        ?>
        <tr>
            <td>
                <?php
                // 개행된 텍스트를 배열로 분할하여 출력
                $wr_6_text = explode("\n", $wr_6x[$i]);
                foreach ($wr_6_text as $line) {
                    echo $line . "<br>";
                }
                ?>
                <input type="button" value="삭제" class="tabledel_btn" onclick="ob_adRows.delRow(this)"/>
                <input type="button" value="추가" class="tableadd_btn" onclick="ob_adRows.addRow(this)"/>
            </td>
        </tr>
        <?php
    }
    ?>
</table>
 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,668 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT