정산내역을 작업하다 보면 추가 금액을 입력하는 경우가 종종 생긴다. 전산으로 모두 계산하지만 추가 비용을 지불해야 한다던지 추가 비용을 차감해야 한다던지 하는 예외적인 상황은 별도로 입력해주는 폼을 추가 해주고 db 에 저장해 주는것이 좋다.
<form action="process.php" method="post">
<td>
<select name="operation" id="operation" style="width:60px;">
<option value="+">+</option>
<option value="-">-</option>
</select>
<input type="number" name="extra_amount" class="w180" required title="금액">원
<button type="submit">전송</button>
</td>
</form>
select box 에서 기호를 선택하고 입력하는 방식으로 구현 한다면 태그를 작성하고 post 로 받는 화면은 아래와 같이 floatval 로 변환해 주어야 마이너스로 입력이 된다. db 에 필드도 float 로 잡아 주어야 한다.
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$operation = $_POST['operation'];
$amount = $_POST['extra_amount'];
// 금액에 + 또는 - 기호 붙이기
$extra_amount = ($operation === '-') ? -floatval($amount) : floatval($amount); // 입력값을 float으로 변환
// 선생님 정산 테이블 업데이트
$paramArray = [];
$paramArray = compact('extra_amount');
$paramArray["payment"] = $total_amount - $tax + $extra_amount;
// 데이터베이스 업데이트
$rsArry = $this->UpdateData("reservation_settle_teacher", $paramArray, $where_com);
}
'PHP' 카테고리의 다른 글
php mysql 견적서 번호 생성 유니크하게 (0) | 2024.11.24 |
---|---|
php 파일을 pdf 로 다운로드 하는 방법 (0) | 2024.11.23 |
php 엑셀다운로드 업로드 spreadsheet (3) | 2024.11.09 |
php TRANSACTION READ UNCOMITTED commit 전 트랜지션 (0) | 2024.09.15 |
php 단방향 암호화 예제 (0) | 2024.07.09 |