У меня есть такая таблица
id | date | category | concept | amount
В категории есть 2 возможных варианта: доход и результат
, поэтому, например, моя таблица может выглядеть примерно так:
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
Исходя из этой таблицы, мне нужно сделать следующий счет: суммировать все элементы категории, когда категория является доходом, и вычесть, когда категория является результатом, чтобы получить в общей сложности около sh.
В основном 200 + 100 + 500-600 = 200
Я хочу показать этот результат в заголовке моего поста, вот скриншот, чтобы дать идею:
">
Как мне сделать SQL консультацию в моем PHP коде? Я использую 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>';
}
}
}
}
Заранее спасибо.