Hola amigos, Tengo una lista de mascotas donde me muestra la cantidad
faltante, de mascotas hembras, donde "
perritos" es lo que hará la
RESTA
de la
CANTIDAD TOTAL de las mascotas hembras "
perritas" en este caso
usare como máximo de mascotas hembras 10 (diez)
Código PHP:
Ver original<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Error: " . $conn->connect_error); }
$sql = "SELECT id, mascotas, cantidad, (
SUM(CASE WHEN Guarderia.mascotas = 'perritos' THEN 10 ELSE 0 END)
-
SUM(CASE WHEN Guarderia.mascotas = 'perritas' THEN cantidad ELSE 0 END))
AS total FROM Guarderia";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: ".$row["id"]." <br>";
echo "animalitos: ".$row["mascotas"]." <br>";
echo "cantidad: ".$row["cantidad"]." <br>";
}
} else {
echo "0 resultados";
}
$conn->close();
?>
Esta lista esta el resultado correcto; es
0, no falta ninguna macota hembra (perritas)
RESULTADO DEL DB
Código HTML:
Ver originalID | MASCOTAS | CANTIDAD
1 | perritos | 1
2 | perritas | 1
3 | perritas | 1
4 | perritas | 1
5 | perritas | 1
6 | perritas | 1
7 | perritas | 1
8 | perritas | 1
9 | perritas | 1
10 | perritas | 1
11 | perritas | 1
En esta lista FALTA
1, mascota hembra (perritas), en su lugar existen
2, mascotas machos (perritos)
el valor total ahora es
11, esta sumando todo, en el código PHP debería solo mostrar lo que falta de
mascotas hembras, la idea es que reste del total.
RESULTADO DEL DB
Código HTML:
Ver originalID | MASCOTAS | CANTIDAD
1 | perritos | 1
2 | perritos | 1
3 | perritas | 1
4 | perritas | 1
5 | perritas | 1
6 | perritas | 1
7 | perritas | 1
8 | perritas | 1
9 | perritas | 1
10 | perritas | 1
11 | perritas | 1
NOTA: si existe otra forma de restar o cambiar la tabla que pueda darme el resultado que necesito seria genial.