Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/producto»
De WikiEducator
< Usuario:ManuelRomero | php
Línea 31: | Línea 31: | ||
public static function obtieneProductos() { | public static function obtieneProductos() { | ||
+ | //.... | ||
+ | |||
+ | </source> | ||
+ | |||
+ | |||
+ | |||
− | + | <!-- $sql = "SELECT cod, nombre_corto, nombre, PVP FROM producto;"; | |
$resultado = self::ejecutaConsulta ($sql); | $resultado = self::ejecutaConsulta ($sql); | ||
$productos = array(); | $productos = array(); | ||
Línea 47: | Línea 53: | ||
} | } | ||
</source> | </source> | ||
− | + | --> | |
;La clase Producto.php | ;La clase Producto.php | ||
[[Archivo:producto.png]] | [[Archivo:producto.png]] | ||
Línea 58: | Línea 64: | ||
protected $nombre_corto; | protected $nombre_corto; | ||
protected $PVP; | protected $PVP; | ||
− | + | </source> | |
+ | <!-- | ||
public function getcodigo() {return $this->codigo; } | public function getcodigo() {return $this->codigo; } | ||
public function getnombre() {return $this->nombre; } | public function getnombre() {return $this->nombre; } | ||
Línea 73: | Línea 80: | ||
?> | ?> | ||
</source> | </source> | ||
+ | --> | ||
;productos.php | ;productos.php | ||
*Esta parte del código simplemente accede a la base de datos y obtiene todos los productos | *Esta parte del código simplemente accede a la base de datos y obtiene todos los productos | ||
Línea 85: | Línea 93: | ||
// Recuperamos la información de la sesión | // Recuperamos la información de la sesión | ||
session_start(); | session_start(); | ||
+ | .... | ||
+ | </source> | ||
+ | <!-- | ||
+ | |||
// Y comprobamos que el usuario se haya autentificado, para evitar que puedan acceder directamente | // Y comprobamos que el usuario se haya autentificado, para evitar que puedan acceder directamente | ||
Línea 148: | Línea 160: | ||
</html> | </html> | ||
</source> | </source> | ||
+ | --> |
Revisión de 01:33 20 ene 2017
Probando el ejemplo
- Puedes ver esta parte del ejercicio ejecutándose en la web:
http://www.manuel.infenlaces.com/TiendaLogin/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 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
- escribimos el código
<?php require_once('Producto.php'); class DB { //..... lo que había /*======================obtieneProducto ()====================================== Accion: obtiene un array con todos los productos de la bd. Parámetros: Retorna un array de objetos de productos con todos los productos * ***********************************************************************************************/ public static function obtieneProductos() { //....
- La clase Producto.php
Esta clase implementa los atributos de la tabla productos y la posibilidad de obtener cada uno de sus atributos
<?php class Producto { protected $codigo; protected $nombre; protected $nombre_corto; protected $PVP;
- productos.php
- Esta parte del código simplemente accede a la base de datos y obtiene todos los productos
- Los productos quedan disponibles para la plantilla en una variable $productos que es un array asociativo
- el código
<?php require_once('./../include/DB.php'); require_once('Smarty.class.php'); // Recuperamos la información de la sesión session_start(); ....