No Description

Producto.php 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. /*
  3. Conexión de API a base de datos de Proyecto Raíces: Producto.php
  4. - Autor: Miguel E. Cruz Molina
  5. - # de estudiante: 801-16-1956
  6. - Curso y sección: CCOM 4027-002
  7. - Intructor: Prof. Carlos J. Corrada Bravo
  8. - Fecha de última edición: 10/04/2021
  9. Resumen: Este archivo de PHP implementa la clase "Producto",
  10. que establece un pedido de SQL para extraer los datos necesarios
  11. para generar la página particular de un producto seleccionado en
  12. la tienda de Raíces (nombre, comerciante, tamaños, diseños, precios,
  13. cantidades, fotos, etc.), además de un método "read()" que, dado el
  14. identificador del producto, ejecuta dicho pedido y extrae esos datos
  15. de forma tabulada.
  16. */
  17. class Producto {
  18. private $conn;
  19. private $id_producto;
  20. public $nom_producto;
  21. public $id_comerciante;
  22. public $nom_comerciante;
  23. public $precio;
  24. public $cantidad;
  25. public $id_diseno;
  26. public $diseno;
  27. public $id_inventorio;
  28. public $tamano;
  29. public $imagen_chunk1;
  30. public $imagen_chunk2;
  31. // Constructor:
  32. public function __construct($database, $id) {
  33. $this->conn = $database;
  34. $this->id_producto = intval($id);
  35. }
  36. // Obtener información básica del producto:
  37. public function maindata() {
  38. $query = "SELECT DISTINCT P.nom_producto, C.id_comerciante,
  39. C.nom_comerciante, I.precio, I.cantidad,
  40. P.id_default_diseno, P.id_default_inventario
  41. FROM comerciantes C, vende V, productos P, inventario I
  42. WHERE P.id_producto = $this->id_producto
  43. AND P.id_producto = V.id_producto
  44. AND V.id_comerciante = C.id_comerciante
  45. AND P.id_default_inventario = I.id_inventario";
  46. // Statement:
  47. $statement = $this->conn->prepare($query);
  48. $statement->execute();
  49. return $statement;
  50. }
  51. // Obtener datos de diseños del producto:
  52. public function designdata() {
  53. $query = "SELECT id_diseno, diseno,
  54. imagen_chunk1, imagen_chunk2
  55. FROM disenos
  56. WHERE id_producto = $this->id_producto";
  57. // Statement:
  58. $statement = $this->conn->prepare($query);
  59. $statement->execute();
  60. return $statement;
  61. }
  62. // Obtener datos del producto en el inventorio:
  63. public function inventorydata() {
  64. $query = "SELECT id_inventario, tamano,
  65. precio, cantidad
  66. FROM inventario
  67. WHERE id_producto = $this->id_producto";
  68. // NOTA: INCLUIR FOTOS Y CANTIDAD POR INVENTORIO
  69. // Statement:
  70. $statement = $this->conn->prepare($query);
  71. $statement->execute();
  72. return $statement;
  73. }
  74. // Obtener atos de las insignias del producto:
  75. public function insigniasdata() {
  76. $query = "SELECT I.id_insignia, I.nom_insignia
  77. FROM producto_es P, insignias_prods I
  78. WHERE P.id_producto = $this->id_producto
  79. AND P.id_insignia = I.id_insignia";
  80. // NOTA: INCLUIR FOTOS DE INSIGNIAS
  81. // Statement:
  82. $statement = $this->conn->prepare($query);
  83. $statement->execute();
  84. return $statement;
  85. }
  86. }
  87. ?>