테스트 사이트 - 개발 중인 베타 버전입니다

게시글 등록 시 내용관리에 등록된 내용 불러오기

waim 4개월 전 조회 1,320

 

안녕하세요. 개발자가 아니다 보니 하나하나 찾아보면서 하는데 쉽지 않네요ㅠ

 

원하는건 

게시판에서 게시글 등록 시 셀렉트박스를 만들어 내용관리에서 등록한 페이지를 선택하고

등록이 완료되면 그 선택한 페이지가 해당 게시글에 출력되게 하는것입니다.

http://sir.kr/data/editor/2506/2826834698_1751271566.1389.png" width="501" />

 

다시 설명하면

 

1. 게시글 등록 버튼 클릭

2. 제목, 내용 등 입력

3. 셀렉트박스(내용관리에 등록된 내용 목록)

4. 등록 완료 시 등록한 게시내용과 함께 위의 선택한 내용관리의 컨텐츠도 출력

 

--------------------------------

제목 날짜 등등

--------------------------------

게시글내용

--------------------------------

선택한 내용관리의 컨텐츠

---------------------------------

 

이렇게 하려고 할때 간단한 방법이 없을까요?

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

답변 2개

4개월 전

* [게시판 스킨]/write.skin.php

</p>

<p><?php

// 내용관리 목록 가져오기

$content_sql = "SELECT co_id, co_subject FROM {$g5['content_table']} ORDER BY co_subject ASC";

$content_result = sql_query($content_sql);

?></p>

<p><!-- 적당한 위치에 추가 -->

<tr>

    <th scope="row"><label for="content_select">연결할 내용관리</label></th>

    <td>

        <select name="wr_1" id="content_select" class="frm_input">

            <option value="">선택하세요</option>

            <?php

            while ($content_row = sql_fetch_array($content_result)) {

                $selected = '';

                // 수정 모드일 때 기존 선택값 복원

                if ($w == 'u' && $write['wr_1'] == $content_row['co_id']) {

                    $selected = ' selected';

                }

                echo '<option value="'.$content_row['co_id'].'"'.$selected.'>'.get_text($content_row['co_subject']).'</option>';

            }

            ?>

        </select>

        <p style="margin-top:5px; color:#666; font-size:12px;">게시글과 함께 출력할 내용관리 페이지를 선택하세요.</p>

    </td>

</tr></p>

<p>


* [게시판 스킨]/view.skin.php

</p>

<p><!-- 연결된 내용관리 출력  -->

<?php

// 여분필드 wr_1에 내용관리 ID가 저장되어 있는 경우

if ($view['wr_1']) {

    $content_id = $view['wr_1'];

    

    // 내용관리 테이블에서 해당 내용 가져오기

    $sql = "SELECT co_subject, co_content 

            FROM {$g5['content_table']} 

            WHERE co_id = '{$content_id}'";

    

    $content_result = sql_fetch($sql);

    

    if ($content_result) {

?>

<div id="attached_content" style="margin-top: 30px; padding: 20px; background-color: #f8f9fa; border-left: 4px solid #007bff; border-radius: 5px;">

    <h4 style="margin: 0 0 15px 0; color: #495057; font-size: 16px; border-bottom: 2px solid #007bff; padding-bottom: 8px;">

        ? 연결된 내용: <?php echo get_text($content_result['co_subject']); ?>

    </h4>

    <div style="line-height: 1.6;">

        <?php 

        // HTML 태그 허용하여 출력 (내용관리는 보통 HTML 에디터로 작성됨)

        echo conv_content($content_result['co_content'], 1); 

        ?>

    </div>

</div>

<?php

    }

}

?></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

w
waim
4개월 전
와 감사합니다! 잘됩니다!~~ 감사합니다!

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

4개월 전

동일한 내용을 게시판에 저장할 필요는 없습니다

해당 내용관리 게시물의 co_id를 여분필드 wr_1에 저장하고 이것을 이용해서 내용을 출력하면 됩니다 

1. select 만들기

$result = sql_query("select * from {$g5['content_table']} order by co_subject ");

$content_opt="<option value=''>선택</option>";

while($row=sql_fetch_array($result)){

  $content_opt.="<option value='{$row['co_id']}>{$row['co_subject']}</option>";

}

 

2. select box

내용관리 선택 <select name='wr_1'><?php echo $content_opt;?></select>

 

3. view페이지 출력

$row = sql_fetch(" select * from {$g5['content_table']} where co_id = '{$view['wr_1']}' ");

echo $row['co_content'];

 

등록시 선택한 내용을 보이게 한다든지 수정시 선택한 내용 제목이 선택 되도록 하는 부분도

있어야겠네요

 

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

w
waim
4개월 전
답변 감사합니다!!

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

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

로그인