Foros del Web » Programando para Internet » PHP »

mostrar la cantidad restante de mascotas

Estas en el tema de mostrar la cantidad restante de mascotas en el foro de PHP en Foros del Web. Hola amigos, Tengo una lista de mascotas donde me muestra la cantidad faltante, de mascotas hembras, donde " perritos " es lo que hará la ...
  #1 (permalink)  
Antiguo 10/05/2024, 23:39
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 19 años, 6 meses
Puntos: 6
mostrar la cantidad restante de mascotas

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 MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `Guarderia` (
  2.   `mascotas` enum('perritos','perritas') NOT NULL DEFAULT 'perritos',
  3.   `cantidad` enum('1','0') NOT NULL DEFAULT '1',
  4.   PRIMARY KEY (`id`)
  5. );

Código PHP:
Ver original
  1. <?php
  2. $servername = "localhost";
  3. $username = "username";
  4. $password = "password";
  5. $dbname = "myDB";
  6. $conn = new mysqli($servername, $username, $password, $dbname);
  7. if ($conn->connect_error) {
  8.   die("Error: " . $conn->connect_error);
  9. }
  10.  
  11. $sql = "SELECT id, mascotas, cantidad, (
  12.  SUM(CASE WHEN Guarderia.mascotas = 'perritos' THEN 10 ELSE 0 END)
  13.   -
  14.  SUM(CASE WHEN Guarderia.mascotas = 'perritas' THEN cantidad ELSE 0 END))
  15.  
  16. AS total  FROM Guarderia";
  17.  
  18. $result = $conn->query($sql);
  19.  
  20. if ($result->num_rows > 0) {
  21.  
  22.   while($row = $result->fetch_assoc()) {
  23.     echo "id: ".$row["id"]." <br>";
  24.     echo "animalitos: ".$row["mascotas"]." <br>";
  25.     echo "cantidad: ".$row["cantidad"]." <br>";
  26.   }
  27. } else {
  28.   echo "0 resultados";
  29. }
  30. $conn->close();
  31. ?>

Esta lista esta el resultado correcto; es 0, no falta ninguna macota hembra (perritas)
RESULTADO DEL DB
Código HTML:
Ver original
  1. ID     |    MASCOTAS      |   CANTIDAD
  2. 1      |     perritos     |        1
  3. 2      |     perritas     |        1
  4. 3      |     perritas     |        1
  5. 4      |     perritas     |        1
  6. 5      |     perritas     |        1
  7. 6      |     perritas     |        1
  8. 7      |     perritas     |        1
  9. 8      |     perritas     |        1
  10. 9      |     perritas     |        1
  11. 10     |     perritas     |        1
  12. 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 original
  1. ID     |    MASCOTAS      |   CANTIDAD
  2. 1      |     perritos     |        1
  3. 2      |     perritos     |        1
  4. 3      |     perritas     |        1
  5. 4      |     perritas     |        1
  6. 5      |     perritas     |        1
  7. 6      |     perritas     |        1
  8. 7      |     perritas     |        1
  9. 8      |     perritas     |        1
  10. 9      |     perritas     |        1
  11. 10     |     perritas     |        1
  12. 11     |     perritas     |        1

NOTA: si existe otra forma de restar o cambiar la tabla que pueda darme el resultado que necesito seria genial.



La zona horaria es GMT -6. Ahora son las 14:05.