write.skin.php 글쓰기 에서 타게시판 연동관연

write.skin.php 글쓰기 에서 타게시판 연동관연

QA

write.skin.php 글쓰기 에서 타게시판 연동관연

본문

글쓰기에서 타게시판 제목을 가져와 select 의 옵션들로 나열해서 제목들을 선택할수있도록 해두었습니다.

 

<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);

global $is_member;
global $member;

$nick = $member['mb_nick'];
$mb_level = $member['mb_level'];
$query = sql_query("SELECT wr_subject, wr_id FROM g5_write_ji ORDER BY wr_id DESC");
?>

 

상단의 빨간부분 추가후

 <select  class="op_s1" name="wr_7" id="wr_7"  value="<?php echo $wr_7 ?>" style="float: left">
        
                <option value="<?php echo $wr_7 ?>"><?php echo $wr_7 ?></option>


            </select>
      
      <script language="JavaScript">
function ji(wr_7) {
    var 
    addr ={    
    '업체' : [<?php while($rows = sql_fetch_array($query)) { ?>'<?php  echo $rows['wr_subject'];?>',<?php } ?>],};

    this.wr_7 = document.getElementById('wr_7');
    var parent = this;

    makeOption('업체', this.wr_7);
    if (wr_7) this.wr_7.value = wr_7;

    function makeOption(idx, obj) {  
        var html = '<option value="">' + obj.options[0].text;+ '</option>';
        for (var i = 0; i<addr[idx].length; i++) 
            html += '<option value="'+addr[idx][i]+'">'+addr[idx][i]+'</option>';
        obj.innerHTML =  html;
    }
}

</script>    

        <script>
$(function(){     

 $("#wr_7").val("<?=$write['wr_7']?>");
});
$(function(){     

 $("#wr_7").val("<?=$update['wr_7']?>");
});
ji('<?php echo $wr_7?>');
</script>

 

위와같이 넣었습니다. 

여기서 질문은 디비가져오는것보시면 wr_id 도 같이 자져오고싶은데요. 문제는 

wr_subject 부분을 글쓰기에서 wr_7 로 저장되면서 wr_8 로 wr_id 를 저장하고싶습니다.

wr_subject  중 하나를 선택하면 그에 해당하는 wr_id 가 wr_8로 자동 저장되는것이죠..

머리를 짜도 제가 아직서툴러서 잘모르겠네요.. 

이 질문에 댓글 쓰기 :

답변 2

제가 스크립트는 아직 부족해서 제목만 뽑아서 옵션으로 돌리시려는게 맞으시다면 이렇게 해보세요.

 

이경우 스크립트는 안쓰셔도 될겁니다.

 

그리고 글쓰기할때만 적용입니다. 글 수정시에는 셀렉트 박스 선택 안하고 hidden에 저장..

 

write.skin.php 에서


<?php
$sql = "SELECT wr_subject, wr_id FROM g5_write_ji ORDER BY wr_id DESC";
$query = sql_query($sql);
$ji_option = "";
while ( $row = sql_fetch_array($query) ){
    $ji_option .= "<option value='".$row['wr_subject']."||".$row['wr_id']."'>".$row['wr_subject']."</option>";
} #END while
?>
 
<?php if($w=='') { ?>
<select name='wr78'  id='wr78'  class="op_s1" style="float: left">
<option value=''>업체선택</option>
<?php echo $ji_option; ?>
</select>
<?php }else{ ?>
<!-- 글 수정시 wr_7 과 wr_8 보존 -->
<input type='hidden' name ='wr_7' value=<?php echo $write['wr_7'] ?>> 
<input type='hidden' name ='wr_8' value=<?php echo $write['wr_8'] ?>> 
<?php } ?>

write_update.skin.php 에서


<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
 
if($w == ''){
$test = explode("||",$_POST['wr78']);
$wr_7 = $test[0];
$wr_8 = $test[1];
$sql = " update $write_table
            set wr_7 = '$wr_7',
                 wr_8 = '$wr_8'
          where wr_id = '$wr_id' ";
sql_query($sql);
}
?>

제가 하는 방식으로 설명드리면 

제목 선택용 <select 를 하나 생성하고 

php for문으로 게시판 제목 목록을 가져와서 

 

<select id='select_subject'>

<?php for($i= 0; $rows~~~~; $i++){ ?>

<option value='<?php echo $rows['wr_subject']?>' data-wr_id= '<?php echo $rows['wr_id']?>'>$rows['wr_subject']</option>

<?php } ?>

 

이런식으로 하면 제목 선택용 select 및 option이 생성됩니다.

 

간단하게 jquery #select_subject change 이벤트가 있으면 wr_7에 제목을 넣어주고 wr_8에는

jquery data 값을 읽어와서 wr_8에 data-wr_id 값을 넣어주면 될듯 합니다.

https://snowple.tistory.com/379

https://dololak.tistory.com/576

참고해 보세요.

 

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

회원로그인

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