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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시판 글쓰기 행추가 기능 질문

QA

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

답변 2

본문

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

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

 

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>
 

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 51
© SIRSOFT
현재 페이지 제일 처음으로