예약스킨 합산 금액 ㅠㅠ

■ write.skin.php

Copy
<?phpif(defined('_GNUBOARD_') == false){    exit('스킨파일은 단독으로 실행할 수 없습니다.');}?><script>var g5_bbs_skin_url = "<?php echo $board_skin_url; ?>";</script><script src="<?php echo $board_skin_url; ?>/script.js"></script><link rel="stylesheet" href="<?php echo $board_skin_url; ?>/style.css"><form id="mara_write" name="fwrite" method="post" action="<?php echo G5_BBS_URL; ?>/write_update.php" enctype="multipart/form-data" onsubmit="return checkWrite(this);" style="width:<?php echo $width; ?>;">    <input type="hidden" name="wr_subject" value="tmp_text">    <p>        <input type="hidden" name="w" value="<?php echo $w; ?>">        <input type="hidden" name="bo_table" value="<?php echo $bo_table; ?>">    </p>    <h2 class="guide"><span></span>이용안내</h2>    <ol class="explain">        <li>인터넷예약이 가능한 기간은 <strong><?php echo $date['min']; ?>부터 <?php echo $date['max']; ?>까지</strong>이며, 그 외의 기간은 전화로 문의해주세요.</li>        <li>1회 예약시 숙박이 가능한 기간은 <strong>최대 <?php echo $board['bo_5']; ?>박 <?php echo $board['bo_5'] + 1; ?>일</strong>이며, 그 이상의 기간은 전화로 문의해주세요.</li>        <li>선택한 숙박일자에 이용할 수 없는 객실은 선택할 수 없거나 숙박기간이 조정되어 보여질 수 있습니다.</li>        <li>예약신청이 완료된 후 <strong><?php echo $board['bo_6']; ?>일 이내에 입금</strong>이 확인되지 않으면 별도의 확인절차없이 예약은 취소됩니다.</li>        <li>무통장입금 계좌번호안내 : <?php echo $board['bo_10']; ?></li>    </ol>    <h2 class="rm_select"><span></span>객실선택</h2>    <p class="select">        <span class="sound_only">날짜를 변경하시면 입력한 내용이 초기화 됩니다.</span>        <label for="if_day" class="sound_only">날짜</label>        <select name="select" id="if_day" class="day_select"><?php echo optionDate($select); ?></select>    </p>    <table class="mara_rw">    <caption>객실 선택</caption>    <colgroup>        <col class="rm_grid_5"><!-- 25% -->        <col class="rm_grid_2"><!-- 10% -->        <col class="rm_grid_3"><!-- 15% -->        <col class="rm_grid_3"><!-- 15% -->        <col class="rm_grid_3"><!-- 15% -->        <col class="rm_grid_2"><!-- 10% -->        <col class="rm_grid_2"><!-- 10% -->    </colgroup>    <thead>    <tr>        <th scope="col">객실정보</th>        <th scope="col">기준/최대</th>        <th scope="col">숙박일자</th>        <th scope="col">숙박기간</th>        <th scope="col">인원</th>        <th scope="col">이용금액</th>        <th scope="col">선택</th>    </tr>    </thead>    <tfoot>    <tr>        <td colspan="5">총 결제금액</td>        <td class="red" colspan="2"><span id="total">0</span>원</td>    </tr>    </tfoot>    <tbody>    <?php for($i = 0;$i < $max; $i++){ ?>    <tr>        <td class="left">            <input type="hidden" name="use[<?php echo $ROOM[$i]['wr_id']; ?>]" value="<?php echo $ROOM[$i]['disabled']; ?>">            <a href="#none" onclick="window.open('<?php echo $ROOM[$i]['link']; ?>');"><img src="<?php echo $board_skin_url; ?>/img/b_room.gif" alt="상세정보"></a>            [<?php if($ROOM[$i]['ca_name']){ echo $ROOM[$i]['ca_name'] . '/'; } ?><?php echo $ROOM[$i]['wr_1']; ?>평형] <?php echo $ROOM[$i]['wr_subject']; ?>        </td>        <td><?php echo $ROOM[$i]['wr_2']; ?>명/<?php echo $ROOM[$i]['wr_3']; ?>명</td>        <td><?php echo $select; ?></td>        <td>            <label for="if_stay[<?php echo $ROOM[$i]['wr_id']; ?>]" class="sound_only">숙박기간</label>            <select name="stay[<?php echo $ROOM[$i]['wr_id']; ?>]" id="if_stay[<?php echo $ROOM[$i]['wr_id']; ?>]" onchange="checkPrice('<?php echo $ROOM[$i]['wr_id']; ?>');" <?php echo $ROOM[$i]['disabled']; ?>>                <?php optionStay($ROOM[$i]['stay']); ?>            </select>        </td>        <td>            <label for="if_person[<?php echo $ROOM[$i]['wr_id']; ?>]" class="sound_only">인원선택</label>            <select name="person[<?php echo $ROOM[$i]['wr_id']; ?>]" id="if_person[<?php echo $ROOM[$i]['wr_id']; ?>]" onchange="checkPrice('<?php echo $ROOM[$i]['wr_id']; ?>');" <?php echo $ROOM[$i]['disabled']; ?>>                <?php optionPerson($ROOM[$i]['wr_2'], $ROOM[$i]['wr_3']); ?>            </select>        </td>        <td><span id="price[<?php echo $ROOM[$i]['wr_id']; ?>]"><?php echo number_format($ROOM[$i]['price']); ?></span>원</td>        <td>            <?php if(isset($ROOM[$i]['inquiry']) == true){ ?>            <a href="<?php echo $ROOM[$i]['inquiry']; ?>"><img src="<?php echo $board_skin_url; ?>/img/b_inquiry.gif" alt="예약확인"></a>            <?php } else{ ?>            <input type="checkbox" name="room[]" value="<?php echo $ROOM[$i]['wr_id']; ?>" onclick="checkTotal();" <?php echo $ROOM[$i]['disabled']; ?>>            <?php } ?>        </td>    </tr>    <?php } ?>    </tbody>    </table>    <h2 class="info"><span></span>예약자정보</h2>    <table class="mara_info">    <caption>예약자정보 입력</caption>    <colgroup>        <col class="rm_grid_4"><!-- 20% -->        <col class="rm_grid_6"><!-- 30% -->        <col class="rm_grid_4"><!-- 20% -->        <col class="rm_grid_6"><!-- 30% -->    </colgroup>    <tbody>    <tr>        <th scope="row"><label for="if_name">이름</label></th>        <td><input type="text" name="wr_name" value="<?php echo $member['mb_name']; ?>" id="if_name" required <?php echo $readonly; ?>></td>        <th scope="row"><label for="if_pw">비밀번호</label></th>        <td><input type="password" id="if_pw" name="wr_password" value="<?php echo $password; ?>" <?php echo $password_required; ?> <?php echo $readonly; ?>></td>    </tr>    <tr>        <th scope="row"><label for="if_phone" class="frm_essential">연락처</label></th>        <td colspan="3">            <span class="frm_info">(반드시 010-3456-7890과 같은 형식으로 입력해주세요)</span>            <input type="text" name="wr_homepage" value="<?php echo $homepage; ?>" id="if_phone" class="required" required>        </td>    </tr>    <tr>        <th scope="row"><label for="if_memo" class="frm_essential">메모</label></th>        <td colspan="3"><textarea name="wr_content" id="if_memo" class="required" cols="10" rows="5"><?php echo $content; ?></textarea></td>    </tr>    </tbody>    </table>    <?php if($guide){ ?>    <h2 class="important"><span></span>준수사항</h2>    <p class="explain"><?php echo get_text($guide, 1); ?></p>    <?php } ?>    <div class="mara_btn_area">        <input type="image" src="<?php echo $board_skin_url; ?>/img/b_write.gif" alt="예약하기">        <a href="<?php echo G5_BBS_URL; ?>/board.php?bo_table=<?php echo $bo_table; ?>&amp;select=<?php echo $select; ?>"><?php echo $BUTTON; ?></a>    </div></form> <script>$(document).ready(function(){    var day_trigger = $(".day_select");    day_trigger.each(function(){        var currentVal = $(this).val();        day_trigger.change(function(){            var day_selVal = $(this).val();            if (! confirm("날짜를 변경하시면 입력한 내용이 초기화 됩니다. 변경하시겠습니까?")) {                $(".day_select").val(currentVal);            }            else{                location.replace('<?php echo G5_BBS_URL; ?>/write.php?bo_table=<?php echo $bo_table; ?>&select='+day_selVal);            }        });    });});</script>​

■ skin.function.php

Copy
<?phpif(defined('_GNUBOARD_') == false){    exit('함수파일은 단독으로 실행할 수 없습니다.');}// 목록화면을 위한 관리자 인증세션을 저장한다if($type == 'true'){    $_SESSION['admin'] = true;    goto_url(G5_BBS_URL.'/board.php?bo_table='.$bo_table);}// 달력화면을 위한 관리자 인증세션을 삭제한다if($type == 'false'){    unset($_SESSION['admin']);    goto_url(G5_BBS_URL. '/board.php?bo_table=' . $bo_table);}// 버튼의 유형을 정의한다 (달력보기 or 목록보기)if($is_admin && $_SESSION['admin']){    $BUTTON = "<img src=\"{$board_skin_url}/img/b_list.gif\" alt=\"목록보기\">";}else{    $BUTTON = "<img src=\"{$board_skin_url}/img/b_calendar.gif\" alt=\"달력보기\">";}// 객실정보게시판이 정의되지 않았다면 실행을 중지한다$OBJECT = sql_fetch("SELECT * FROM {$g5['board_table']} WHERE bo_table = '{$board['bo_1']}'");if(isset($OBJECT['bo_table']) == false){    alert('객실정보게시판이 정의되지 않았습니다.');}// 필요한 변수값이 정의되지 않았다면 기본값으로 설정한다if((int)$board['bo_3'] < 1){    $board['bo_3'] = 1;}if((int)$board['bo_4'] < 1){    $board['bo_4'] = 90;}if((int)$board['bo_5'] < 1){    $board['bo_5'] = 10;}if((int)$board['bo_6'] < 1){    $board['bo_6'] = $board['bo_3'];}// 예약내역삭제일이 경과한 미입금 예약목록은 삭제한다$result = sql_query("SELECT wr_id FROM {$write_table} WHERE wr_last < DATE_SUB(now(), INTERVAL {$board['bo_6']} DAY) AND wr_7 = 'F'");while($row = sql_fetch_array($result)){    sql_query("DELETE FROM {$write_table} WHERE wr_parent = '{$row['wr_id']}'");    sql_query("DELETE FROM {$g5['board_new_table']} WHERE bo_table = '{$bo_table}' AND wr_parent = '{$row['wr_id']}'");    sql_query("UPDATE {$g5['board_table']} SET bo_count_write = bo_count_write - 1 WHERE bo_table = '{$bo_table}'");}// 예약이 가능한 일자를 추출하여 선택박스로 출력한다function optionDate($select = null){    global $g5, $board;    $arr = array('0' => '(월)', '1' => '(화)', '2' => '(수)', '3' => '(목)', '4' => '(금)', '5' => '(토)', '6' => '(일)');    for($i = $board['bo_3']; $i < $board['bo_4']; $i++)    {        $date = sql_fetch("SELECT '".G5_TIME_YMD."' + INTERVAL {$i} DAY AS this");        $week = sql_fetch("SELECT weekday('{$date['this']}') AS this");        echo "<option value=\"{$date['this']}\"";        if($date['this'] == $select)        {            echo ' selected';        }        echo ">{$date['this']} {$arr[$week['this']]}</option>";    }    return;}// 숙박이 가능한 일자를 추출하여 선택박스로 출력한다function optionStay($max){   echo "<option value=\"0\">1일</option>";    for($i = 1; $i <= $max; $i++)    {        $var = $i + 1;        echo "<option value=\"{$i}\">{$i}박 {$var}일</option>";    }    return;}// 숙박이 가능한 인원을 추출하여 선택박스로 출력한다function optionPerson($min, $max){    for($i = $min; $i <= $max; $i++)    {        echo "<option value=\"{$i}\">{$i}명</option>";    }    return;}// 선택한 일자가 성수기인지를 추출한다 (성수기 : 1000, 비성수기 : 2000)function getSeason($select){    global $board;    $result = 2000;    $var = substr($select, 5, 5);    $arr = explode('|', $board['bo_2']);    $max = count($arr);    for($i = 0; $i < $max; $i++)    {        list($open, $close) = explode('~', $arr[$i]);        if($open <= $var && $var <= $close)        {            $result = 1000;            break;        }    }    return $result;}// 선택한 일자가 주말(금,토요일)인지를 추출한다 (주말 : 1000, 주중 : 2000)function getWeek($select){    list($var) = mysql_fetch_array(sql_query("SELECT weekday('{$select}')"));    if($var == 4 || $var == 5)    {        $result = 1000;    }    else    {        $result = 2000;    }    return $result;}// 선택한 일자의 이용요금을 추출한다 (이용요금을 추출할 수 있는 테이블의 필드명을 리턴한다)function getPrice($select){    $arr = array(        '1000' => array('1000' => 'wr_7', '2000' => 'wr_6'),        '2000' => array('1000' => 'wr_5', '2000' => 'wr_4')    );    $season = getSeason($select);    $week = getWeek($select);    $result = $arr[$season][$week];    return $result;}// 인원별, 기간별 이용요금을 산출한다function getTotal($wr_id, $select, $stay, $person){    global $g5, $board;    $result = 0;    $write = sql_fetch("SELECT * FROM {$g5['write_prefix']}{$board['bo_1']} WHERE wr_id = '{$wr_id}'");    for($i = 0; $i < $stay; $i++)    {        list($date) = mysql_fetch_array(sql_query("SELECT '{$select}' + INTERVAL {$i} DAY"));        $field = getPrice($date);        $result += $write[$field];    }    $result += (($person - $write['wr_2']) * $write['wr_8'] * $stay);    return $result;} // 선택일자에 예약된 객실의 개수를 산출한다function getRoom($day, $number){    global $class, $room;    $result = 0;    $max = count($class[$number]);    for($i = 0; $i < $max; $i++)    {        $var = $class[$number][$i];        $result += count($room[$day][$var]);    }    return $result;}// 문자메시지를 전송합니다 (아이코드 클래스)function SMS($message, $receive = null){    global $board;    list($id, $password) = explode('|', $board['bo_8']);    list($phone, $mobile) = explode('|', $board['bo_9']);    if(isset($receive) == false)    {        $receive = $mobile;    }    $SMS = new ICODE;    $SMS -> Connect($id, $password);    $SMS -> Add($phone, $receive, $message);    $SMS -> Send();    return;}function BLANK($string, $size){    for($i = 0; $i < $size; $i++)    {        $string .= ' ';    }    $result = substr($string, 0, $size);    return $result;}class ICODE{    var $ID;    var $PASSWORD;    var $SERVER;    var $PORT;    var $DATA;    function Connect($id, $password)    {        $this -> ID = BLANK($id, 10);        $this -> PASSWORD = BLANK($password, 10);        $this -> SERVER = '211.172.232.124';        $this -> PORT = rand(7192, 7195);        return;    }    function Add($send, $mobile, $message)    {        $send = str_replace('-', null, $send);        $send = BLANK($send, 33);        $mobile = str_replace('-', null, $mobile);        $mobile = BLANK($mobile, 11);        $message = stripslashes($message);        $message = BLANK($message, 80);        $this -> DATA = '01144 ' . $this -> ID . $this -> PASSWORD . $mobile . $send . $message;        return;    }    function Send()    {        $fgets = null;        $fsockopen = fsockopen($this -> SERVER, $this -> PORT);        fputs($fsockopen, $this -> DATA);        while(isset($fgets) == false)        {            $fgets = fgets($fsockopen, 30);        }        fclose($fsockopen);        $result = substr($fgets, 0, 19);        $key = '0223  00' . substr($this -> DATA, 26, 11);        $this -> DATA = null;        if($result != $key)        {            return false;        }        return true;    }}?>​​

안녕하세요 ㅠㅠ

객실예약 스킨 사용하려고 하는데 금액부분에서 합산 금액이 나오지 않아

글 남깁니다...

이방법 저방법 다 써봤지만 잘 안 풀리네욤..

http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=319&sca=&sfl=wr_subject||wr_content&stx=%EA%B0%9D%EC%8B%A4

사용한 스킨 덧글에 있는 방법으로도 해봤지만 되질 않네요 ㅠㅠ

고수님들 도와주세요 ㅠ ㅠ 

답변 1개

<input type="checkbox" name="room[]" value="<?php echo $ROOM[$i]['wr_id']; ?>" onclick="checkTotal();" <?php echo $ROOM[$i]['disabled']; ?>> 

소스중에 체크박스 클릭시 checkTotal() 스크립트가 실행되네요.

함수명으로 봐서는 이 함수에서 처리가 될듯 하네요.

자바스크립트 checkTotal 함수부분을 살펴보세요.

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

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

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

로그인
🐛 버그신고