PHP는 돈 수입과 결과를 기반으로 총 현금을 계산합니다.

크리스티안

이런 테이블이 있어요

id | date | category | concept | amount

카테고리에는 소득과 결과의 두 가지 옵션이 있습니다.

예를 들어 내 테이블은 다음과 같이 보일 수 있습니다.

id | date       | category | concept        | amount
----------------------------------------------------
1  | 2020-01-20 | income   | tv sale        | 200
2  | 2020-01-20 | income   | radio sale     | 100
3  | 2020-01-20 | income   | pc sale        | 500
4  | 2020-01-25 | outcome  | salary payment | 600

이 표를 기반으로 다음 계정을 만들어야합니다. 범주가 소득 일 때 모든 범주 항목을 합산하고 범주가 결과 일 때 빼서 총 현금을 제공합니다.

기본적으로 200 + 100 + 500-600 = 200

내 위치의 헤더에 그 결과를 표시하고 싶습니다. 여기에 아이디어를 제공하는 스크린 샷이 있습니다.

내가하고 싶은 것>

PHP 코드에서 SQL을 어떻게 참조해야합니까? 여기에 PDO를 사용하고 있습니다. 모델 코드는 다음과 같습니다.

static public function mdlIngresarMovimiento($tabla, $datos){

    $stmt = Conexion::conectar()->prepare("INSERT INTO $tabla(fecha, categoria_cd, concepto, observacion_cd, monto) VALUES (:fecha, :categoria_cd, :concepto, :observacion_cd, :monto)");

    $stmt->bindParam(":fecha", $datos["fecha"], PDO::PARAM_STR);
    $stmt->bindParam(":categoria_cd", $datos["categoria_cd"], PDO::PARAM_STR);
    $stmt->bindParam(":concepto", $datos["concepto"], PDO::PARAM_STR);
    $stmt->bindParam(":observacion_cd", $datos["observacion_cd"], PDO::PARAM_STR);
    $stmt->bindParam(":monto", $datos["monto"], PDO::PARAM_INT);

    if($stmt->execute()){

        return "ok";

    }else{

        return "error";

    }

    $stmt->close();
    $stmt = null;

}

내 컨트롤러는 다음과 같습니다.

static public function ctrCrearMovimiento(){

    if(isset($_POST["fechaMovimiento"])){

        if(preg_match('/^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ ]+$/', $_POST["categoriaMovimiento"]) &&
           preg_match('/^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ ]+$/', $_POST["entradaConcepto"]) &&
           preg_match('/^[a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ ]+$/', $_POST["observacionMovimiento"])){

            $tabla = "caja_diaria";

            $datos = array("id"=>$_POST["idMovimiento"],
                           "fecha"=>$_POST["fechaMovimiento"],                  
                           "categoria_cd"=>$_POST["categoriaMovimiento"],
                           "concepto"=>$_POST["entradaConcepto"],
                           "observacion_cd"=>$_POST["observacionMovimiento"],
                           "monto"=>$_POST["montoMovimiento"]);

            $respuesta = ModeloCajaDiaria::mdlIngresarMovimiento($tabla, $datos);

            if($respuesta == "ok"){

                echo'<script>

                swal({
                      type: "success",
                      title: "El movimiento ha sido guardado correctamente",
                      showConfirmButton: true,
                      confirmButtonText: "Cerrar"
                      }).then(function(result){
                                if (result.value) {

                                window.location = "caja-diaria";

                                }
                            })

                </script>';

            }else{

            echo'<script>

                swal({
                      type: "error",
                      title: "¡El movimiento no puede ir vacío!",
                      showConfirmButton: true,
                      confirmButtonText: "Cerrar"
                      }).then(function(result){
                        if (result.value) {

                        window.location = "caja-diaria";

                        }
                    })

            </script>';



        }

        }

    }
}

미리 감사드립니다.

GMB

조건부 합계를 사용하여 SQL에서 직접 계산을 수행 할 수 있습니다.

select sum(case when category = 'income' then amount else -amount end) total_sales
from mytable

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

PHP MySQL에서 검색 결과를 기반으로 총 행 수 합계

R은 존재하는 여러 변수를 기반으로 결과 확률 = 1을 계산합니다.

PHP는 총 시간과 분과 초를 계산합니다

행 수에 관계없이 Id를 기반으로 하는 두 개의 결과 집합을 기반으로 결과를 반환합니다.

결과에 대해 0을 반환하는 현금 현금 계산

열에있는 값의 총 인스턴스 수를 계산하고 다른 셀에 결과를 반환해야합니다.

특정 합계의 결과를 기반으로 변수 값을 계산할 수있는 알고리즘

PHP는 날짜 선택기 입력을 기반으로 mysql 결과를 표시합니다.

MySQL PHP는 입력 된 결과를 기반으로 다른 테이블을 업데이트합니다.

$ 167.37에서 (돈) 변화를 만드는 다른 방법을 계산합니까?

Postgres는 조건 하에서 총 행 수를 계산하지만 제한을 무시하고 다음 기준으로 그룹화합니다.

코드를 모두 모듈화해야합니다. 목표는 사용자 입력을 기반으로 총 및 보너스 지불 기여를 계산하는 것입니다.

평균 계산을 기반으로 mysql 쿼리 결과를 그룹화하는 방법은 무엇입니까?

R에서 이전 행의 결과를 기반으로 값을 계산하는 방법은 무엇입니까?

최종 결과를 기반으로 계산을 만드는 방법은 무엇입니까?

qty를 포함한 각 DevicePart Model을 기반으로 django 모델 Device의 총계를 계산합니다.

JavaScript : 함수는 콜백 함수의 결과를 기반으로 재정렬 된 배열을 반환합니다.

색상을 기반으로 총 수량 크기를 구하고 열 합계를 추가하는 방법

MySQL : 하위 쿼리의 결과를 계산하고 반환되는 집합을 계속 사용합니다.

변수에서 반복되는 값을 계산하고 SPSS의 새 값에 결과를 추가합니다.

다른 테이블을 기반으로 결과를 얻으려고합니다. WHERE에서는 집계 함수가 허용되지 않습니다.

R의 glht 함수는 수작업으로 수행 한 계산과 다른 결과를 제공합니다.

Oracle에서 이전 행의 계산 결과를 기반으로 CASE 문을 통해 동적으로 계산하는 방법은 무엇입니까?

Javascripts는 양식 선택을 기반으로 합계를 계산합니다.

RavenDB가 잘못된 총 결과 수를 반환하는 이유는 무엇입니까?

총 주문 금액과 송장 수를 얻는 방법은 무엇입니까?

버튼에서 입력한 금액과 총 합계 금액으로 특정 입력 필드를 재설정하는 방법은 무엇입니까?

Postgres는 그룹당 총 일치 수를 계산합니다.

Pandas 집계를 사용하는 다른 열을 기반으로 한 결과

TOP 리스트

  1. 1

    Matlab의 반복 Sortino 비율

  2. 2

    ImageJ-히스토그램 빈을 변경할 때 최대, 최소 값이 변경되는 이유는 무엇입니까?

  3. 3

    Excel : 합계가 N보다 크거나 같은 상위 값 찾기

  4. 4

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  5. 5

    원-사각형 충돌의 충돌 측면을 찾는 문제

  6. 6

    Oracle VirtualBox-설치를 위해 게스트를 부팅 할 때 호스트 시스템이 충돌 함

  7. 7

    어떻게 아무리 "나쁜", ANY의 SSL 인증서와 HttpClient를 사용하지합니다

  8. 8

    Ubuntu는 GUI에서 암호로 사용자를 만듭니다.

  9. 9

    잘못된 상태 예외를 발생시키는 Apache PoolingHttpClientConnectionManager

  10. 10

    Python 사전을 사용하는 동안 "ValueError : could not convert string to float :"발생

  11. 11

    openCV python을 사용하여 텍스트 문서에서 워터 마크를 제거하는 방법은 무엇입니까?

  12. 12

    Vuetify 다중 선택 구성 요소에서 클릭 한 항목의 값 가져 오기

  13. 13

    C ++ VSCode에서 같은 줄에 중괄호 서식 지정

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    JQuery datepicker 기능이 인식되지 않거나 새 프로젝트에서 작동하지 않음

  16. 16

    cuda 11.1에서 Pytorch를 사용할 때 PyTorch가 작동하지 않음: Dataloader

  17. 17

    jfreecharts에서 x 및 y 축 선을 조정하는 방법

  18. 18

    상황에 맞는 메뉴 색상

  19. 19

    마우스 휠 JQuery 이벤트 핸들러에 대한 방향 가져 오기

  20. 20

    매개 변수에서 쿼리 객체를 선언하는 방법은 무엇입니까?

  21. 21

    Maven은 아이 프로젝트 대상 폴더를 청소하지

뜨겁다태그

보관