게시판 입력시 합계 또는 연산 관련 질문이예요~~

게시판 입력시 합계 또는 연산 관련 질문이예요~~

QA

게시판 입력시 합계 또는 연산 관련 질문이예요~~

본문

안녕하세요~ 항상 눈팅만 열심히 하면서 배우고 있는데... 도저히 해결이 안되는 사항이 있어서요...

 

3542503700_1560983229.5711.jpg

write.php 부분입니다... 여기서 수량과 단가를 입력해주고

 

3542503700_1560983266.7235.jpg

 

view에서 자동으로 공급가액 부가세액 계약금액을 계산해서 보여지게 만들긴 했습니다.

 

근데 제가 도저히 안되는 부분이 ㅜㅜ

 

지금 현재 상태는 view.php에서

 

                <tr>
                    <th scope="row"><label for="wr_5">수량</label></th>
                    <td>
                        <?php
                                echo cut_str(get_text(number_format($view['wr_5'])), 70); // 수량                          
                        ?>
                        <?php
                                echo $view['wr_15']; // 단위
                        ?>
                    </td>
                </tr>     
   
                <tr>
                    <th scope="row"><label for="wr_6">단가<br>(부가세포함)</label></th>
                    <td>
                        <?php
                                echo cut_str(get_text(number_format($view['wr_6'])), 70); // 단가
                        ?>
                    </td>
                </tr>     

               <tr>
                    <th scope="row"><label for="wr_11">공급가액</label></th>
                    <td>
                        <?php
                                echo cut_str(get_text(number_format($view['wr_5'] * $view['wr_6'] / 1.1)), 70); // 공급가액
                        ?>
                    </td>
                </tr> 

                <tr>
                    <th scope="row"><label for="wr_12">부가세액</label></th>
                    <td>
                        <?php
                                echo cut_str(get_text(number_format(($view['wr_5'] * $view['wr_6']) - ($view['wr_5'] * $view['wr_6'] / 1.1))), 70); // 부가세액
                        ?>
                    </td>
                </tr> 

                <tr>
                    <th scope="row"><label for="wr_7">계약금액</label></th>
                    <td>
                         <?php 
                               echo cut_str(get_text(number_format($view['wr_5'] * $view['wr_6'])), 70); // 계약금액
                        ?>
                    </td>
                </tr>

 

 

와 같이

echo cut_str(get_text(number_format($view['wr_5'] * $view['wr_6'])), 70);

출력 부분에서 계산을 해서 화면에 띄워줬는데요...

 

제가 하고싶은건

        $wr_11=$wr_5 * $wr_6 / 1.1;    // 공급가액
        $wr_7=$wr_5 * $wr_6 ;         //계약금액
        $wr_12=$wr_7 - $wr_11; //부가세액

이렇게 계산을 해서 필드값에 저장 시키고

view.php 에서

 

echo cut_str(get_text(number_format($view['wr_11'])), 70);

 

위와 같이 wr_11 값을 그냥 보여지게 하고 싶습니다....

별짓을 다해봣는데 안되요 ㅜㅜ

 

질문1. 이코드는 어디에 존재 하여야 하는걸까요?

        $wr_11=$wr_5 * $wr_6 / 1.1;    // 공급가액
         $wr_7=$wr_5 * $wr_6 ;         //계약금액
         $wr_12=$wr_7 - $wr_11; //부가세액

 

       1)view.skin.php    2)write.skin.php   3)write_update.skin.php

       검색을 열심히 해보니 write_update.skin.php 여기에 넣는게 맞다고 하신분이 계셨는데...

       여기에 넣을때는 그냥... write_update.skin.php 파일을 만들어서 현재 게시판 폴더에 저 내용만

       넣고 업로드 하면 되는걸까요?

 

질문2. write.skin.php  코드 안에 일단 공급가액, 계약금액, 부가세액 input은 <!--로 모두 없앴는데....

         저게 필요할까요?

        <tr>
             <th scope="row"><label for="wr_5">수량</label></th>
             <td>
                <div id="autosave_wrapper">
                    <input type="number" name="wr_5" value="<?php echo $wr_5 ?>" id="wr_5" size="6" maxlength="255">
                     <select name="wr_15" id="wr_15">
                        <option value="m2"<?php echo ($write['wr_15'] == "m2") ? " selected" : "";?>>m2</option>
                        <option value="m3"<?php echo ($write['wr_15'] == "m3") ? " selected" : "";?>>m3</option>
                        <option value="TON"<?php echo ($write['wr_15'] == "TON") ? " selected" : "";?>>TON</option>
                        <option value="말"<?php echo ($write['wr_15'] == "말") ? " selected" : "";?>>말</option>
                        <option value="식"<?php echo ($write['wr_15'] == "식") ? " selected" : "";?>>식</option>
                    </select>
                 </div>
            </td>
        </tr>

        <tr>
            <th scope="row"><label for="wr_6">단가<br>(부가세포함)</label></th>
            <td>
                <div id="autosave_wrapper">
                    <input type="number" name="wr_6" value="<?php echo $wr_6 ?>" id="wr_6" size="15" maxlength="255">
                </div>
            </td>
        </tr>

 

       <!--<tr>
            <th scope="row"><label for="wr_11">공급가액</label></th>
            <td>
                <div id="autosave_wrapper">
                    <input type="number" name="wr_11" value="<?php echo $write['wr_11'] ?>" id="wr_11" size="15" maxlength="255">
                </div>
            </td>
        </tr>

        <tr>
            <th scope="row"><label for="wr_12">부가세액</label></th>
            <td>
                <div id="autosave_wrapper">
                    <input type="number" name="wr_12" value="<?php echo $write['wr_12'] ?>" id="wr_12" size="15" maxlength="255">
                </div>
            </td>
        </tr> 

        <tr>
            <th scope="row"><label for="wr_7">계약금액</label></th>
            <td>
                <div id="autosave_wrapper">
                    <input type="number" name="wr_7" value="<?php echo $wr_7 ?>" id="wr_7" value="" onkeyup="inputNumberFormat(this); sum5()" size="15" maxlength="255">
                </div>
            </td>
        </tr> -->

 

      아님 아래 같이 히든으로 라도 입력창을 만들어야 할까요

         <input type=hidden name=wr_11>
        <input type=hidden name=wr_12>
        <input type=hidden name=wr_7>

 

 

질문3. 아래 코드에서

         echo cut_str(get_text(number_format($wr5 * $wr6])), 70); // 계약금액

         echo cut_str(get_text(number_format($view['wr_5'] * $view['wr_6'])), 70); // 계약금액

         위에 출력값은 0이 나오고, 밑에 출력값은 제대로 나오는데 그차이가 뭘까요...

 

에고 너무 길게 썼네요... 진짜 별짓 다 해봤는데... 안되는거라 좀 자세히 좀 부탁 드릴께요....

제가 기본이 없어서 ㅜㅜ

 

답변 부탁드리고요.... 즐거운 하루되세요~~~

감사합니다~~~

 

 

 

 

 

이 질문에 댓글 쓰기 :

답변 4

폰으로 보고, 앞에 글을 작성했다가 삭제후 다시 답글답니다.

 

기본적인 계산 방식은

 

- 공급가 = 수량 x 단가

- 부가세 = 공급가 x 0.1

아닌가요?

 

위에서 헛갈리게 만든것은

단가에 부가세포함이라고 적혀있는 규칙입니다.

 

물론 그럴수도있지만.

 

말씀하신

 

제가 하고싶은건              

        $wr_11=$wr_5 * $wr_6 / 1.1;    // 공급가액   
        $wr_7=$wr_5 * $wr_6 ;         //계약금액      
        $wr_12=$wr_7 - $wr_11; //부가세액           

이렇게 계산을 해서 필드값에 저장 시키고             

 

이 부분은

 

화면이 로딩될때 처리해줘야겠죠

 

PHP 의 문법의 흐름을 정확히 모르시거나 다른 직종 혹은 신입이시면

제작의뢰를 권장하구요

 

개념을 아신다면

위의 계산식은 변수입니다.

 

로딩시 가지고온 값을 화면에 뿌리는 내용이라면

 

변수대입은 기본으로 하실수있어야하니

위의 하고 싶으신 방식을

이해못하신다고 보여지는게 첫번째 이유이고

 

두번째는 제가 서두에 답을 드린내용은

계산룰이 맞는지 점검이 필요합니다.

 

부가세는 공급가의 10% 가 우리나라의 기준입니다.

 

아 답변 감사합니다.... 그 부가세 부분은... 제가 업종 특성사 단가에 부가세를 포함한 단가를 적었기 때문에 계약금액(부가세포함) = 단가 * 수량이 되는거고요... 공급가 부가세는 꺼꾸로 계산해서 내린겁니다... 뭐 딱히 중요하진 않아요 ㅋㅋ

변수 대입을 했는데... 그 값이 출력이 안된다는게 핵심적인 내용입니다 ㅜㅜ



그누보드에서 기본적으로 g5_write_bo테이블명 으로 구성되서
오픈하는 view.skin.php 파일에서

$wr_1 의 값이 없다면

$wr_1 = $view['wr_1'];
과 같은 형식으로 대입해서 생성해주세요

$wr_11 역시 계산식이 담기는 부분이니 마찬가지구요

$view 변수는 테이블의 컬럼값을 select * 을 통해서 모두다 담는 배열변수입니다.

$view['wr_11'] = 계산식 을 해도 가능하구요

그러나, 파일명에서도 알다시피

view.skin.php파일은 저장되는 부분이 아닙니다.

순수 화면출력시 제어를 담당하는 부분으로 기본제공되니
저장을 하려면 별도로 구성하셔서 추가하셔야하고

화면에 보여주는건

보여주려는 영역전에 작동되어야 하겠죠

아 플래토님 설명 감사합니다...
결국은 view.php에서는 어떻게든 표시를 하더라도... 그값이 저장 되진 않는다는 얘기시군요..
그럼 결국에는 위에 비혼님 말씀대로 write.php 쪽에 스크립트를 사용해서... 저장시 그값을 계산해서 wr_7에 넣어주고 넘어가야한다는 얘기네요 ㅜㅜ

아 스크립트는 전혀 할줄 모르는데... 에고고

다들 감사합니다...

https://sir.kr/main/request/ 추천합니다

./bbs/write_update.php

부부에서

 wr_1 = '$wr_1',

이부분을 찾아보세요

그러면 insert,update 부분에 추가 필드 저장하는 부분이 있습니다.

그러면 님이 원하는 식값을 계산해서 저장을 해주면 되겠죠?

 

다른 방법 2는 글쓰기 부분에서

wr_10 이라는 필드에 wr_1 + wr_2 라는 값을 합산값을 wr_10이라는 값에 저장하고 싶다면

글쓰기 폼 부분에서 <input type='hdden' name='wr_10' value=''>

글쓰기 저장을 할때 스크립트로 wr_1+wr2값을 합산해서 wr_10 에 결과값을 넣어주고 폼을 넘기는 거죠

 

그리고 궁금한점 wr_12까지 디비 필드가 있는것 같은대

필드를 추가를 해주셔나요 그누 여유필드는 10까지만 있는것으로 알고 있습니다.

제 글이 도움이 되셔으면 좋겠네요

답변 감사합니다... 일단은 필드는 추가 했습니다...

그리고 스크립트는 전혀 할줄 모릅니다... 주변 분도 스크립도 구현하는게 좋을 듯 하다는데...

1번 조언에 대해서는

$sql = " insert into $write_table
                set wr_num = '$wr_num',
                    wr_reply = '$wr_reply',
                    wr_comment = 0,
                    ca_name = '$ca_name',
                    wr_option = '$html,$secret,$mail',
                    wr_subject = '$wr_subject',
                    wr_content = '$wr_content',
                    wr_link1 = '$wr_link1',
                    wr_link2 = '$wr_link2',
                    wr_link1_hit = 0,
                    wr_link2_hit = 0,
                    wr_hit = 0,
                    wr_good = 0,
                    wr_nogood = 0,
                    mb_id = '{$member['mb_id']}',
                    wr_password = '$wr_password',
                    wr_name = '$wr_name',
                    wr_email = '$wr_email',
                    wr_homepage = '$wr_homepage',
                    wr_datetime = '".G5_TIME_YMDHIS."',
                    wr_last = '".G5_TIME_YMDHIS."',
                    wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                    wr_1 = '$wr_1',
                    wr_2 = '$wr_2',
                    wr_3 = '$wr_3',
                    wr_4 = '$wr_4',
                    wr_5 = '$wr_5',
                    wr_6 = '$wr_6',
                    wr_7 = '$wr_7',
                    wr_8 = '$wr_8',
                    wr_9 = '$wr_9',
                    wr_10 = '$wr_10'
                    wr_11 = '$wr_5 * $wr_6 / 1.1',
                    wr_7 = '$wr_5 * $wr_6',         
                    wr_12 = '$wr_7 - $wr_11' ";

수정을 했는데도 안되네요... 맞게 수정한건지는 잘 모르겠지만요...

근데.... 선생님은
  ./bbs/write_update.php
여기를 얘기 하셨고

어떤분은
/html/theme/ABC/skin/board/construction/write_update.skin.php
여기를 얘기 하시는데...

어디가 맞을까요? ㅜㅜ

 wr_7 = '$wr_7',  <= 중복과 빠진 부분이 있네용

 

테마사용하신다면

/html/theme/ABC/skin/board/construction/write_update.skin.php <= 요기에서

 

아니면

/bbs/write_update.php <= 요기에서

 

                    wr_1 = '$wr_1', 
                    wr_2 = '$wr_2', 
                    wr_3 = '$wr_3', 
                    wr_4 = '$wr_4', 
                    wr_5 = '$wr_5', 
                    wr_6 = '$wr_6', 
                    wr_7 = '$wr_5 * $wr_6', 
                    wr_8 = '$wr_8', 
                    wr_9 = '$wr_9', 
                    wr_10 = '$wr_10' 
                    wr_11 = '$wr_5 * $wr_6 / 1.1', 
                    wr_12 = '$wr_7 - $wr_11' "; 

 

그리고 더 아래로 내려가서...

 

                     wr_7 = '{$wr_5 * $wr_6}',
                     wr_8 = '{$wr_8}',
                     wr_9 = '{$wr_9}',
                     wr_10 = '{$wr_10}',
                     wr_11 = '{$wr_5 * $wr_6 / 1.1}',
                     wr_12 = '{$wr_7 - $wr_11}',

 

위와 같이 수정

 

하옵고 이리 수정을 하시면 사이트내 전 계시판에 적용이 되는데 괜찮으실런지 의문입니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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