Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/practicaTienda/producto1»

De WikiEducator
Saltar a: navegación, buscar
(Lista productos)
 
Línea 3: Línea 3:
 
===Probando el ejemplo===
 
===Probando el ejemplo===
 
*Puedes ver esta parte del ejercicio ejecutándose en la web:
 
*Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/distancia/practicas/practica_12_tienda/TiendaProductos/login.php
+
http://manuel.infenlaces.com/distancia/practicas/practica_12_tienda/2%20Tienda%20Productos/login.php
  
 
===Lista productos===
 
===Lista productos===
Línea 16: Línea 16:
 
;Productos.php
 
;Productos.php
 
*Esta clase va a ser un modelo correspondiente a la lógica
 
*Esta clase va a ser un modelo correspondiente a la lógica
*En este caso el código de esta clase debe ser
+
*En este caso el código de esta clase si solo nos interesan 4 campos...
 +
*El modelo completo requeriría acceder a todos los campos
 
<source lang=php>
 
<source lang=php>
 
<?php
 
<?php
Línea 30: Línea 31:
 
     public function getPVP() {return $this->PVP; }
 
     public function getPVP() {return $this->PVP; }
 
   
 
   
     public function __construct($row) {
+
     public function __construct($producto) {
         $this->codigo = $row['cod'];
+
         $this->codigo = $producto['cod'];
         $this->nombre = $row['nombre'];
+
         $this->nombre = $producto['nombre'];
         $this->nombre_corto = $row['nombre_corto'];
+
         $this->nombre_corto = $producto['nombre_corto'];
         $this->PVP = $row['PVP'];
+
         $this->PVP = $producto['PVP'];
 
     }
 
     }
 
}
 
}
 
?>
 
?>
 
</source>
 
</source>

Última revisión de 07:24 28 abr 2020



Probando el ejemplo

  • Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/distancia/practicas/practica_12_tienda/2%20Tienda%20Productos/login.php

Lista productos

  • Se trata de modificar tanto productos.php, como la plantilla productos.tpl, para obtener un listado de todos los productos
  • Para ello también añadiremos métodos a la clase DB.php.
  • A la vez crearemos la clase Producto.php para obtener de forma más cómoda cada producto como un objeto de la clase Producto a partir de cada fila de la consulta.
  • Directamente vamos a escribir el código
DB.php
  • Debemos hacer una consulta que obtenga todos los productos
  • Para ello añadiremos el método pública obtieneProductos() en la clase DB.php que quedará con lo que tenía

DB2 .png

Productos.php
  • Esta clase va a ser un modelo correspondiente a la lógica
  • En este caso el código de esta clase si solo nos interesan 4 campos...
  • El modelo completo requeriría acceder a todos los campos
<?php
class Producto {
    protected $codigo;
    protected $nombre;
    protected $nombre_corto;
    protected $PVP;
 
    public function getcodigo() {return $this->codigo; }
    public function getnombre() {return $this->nombre; }
    public function getnombrecorto() {return $this->nombre_corto; }
    public function getPVP() {return $this->PVP; }
 
    public function __construct($producto) {
        $this->codigo = $producto['cod'];
        $this->nombre = $producto['nombre'];
        $this->nombre_corto = $producto['nombre_corto'];
        $this->PVP = $producto['PVP'];
    }
}
?>