Categoría: Sin categoría
Examen PHP
Administración productos
SQL ejercicio tienda
CREATE TABLE `tienda`.`productos` ( `idproductos` INT NOT NULL AUTO_INCREMENT, `nombre` VARCHAR(50) NULL, `precio` DECIMAL(5,2) NULL, `descripcion` VARCHAR(400) NULL, PRIMARY KEY (`idproductos`)); CREATE TABLE `tienda`.`clientes` ( `idclientes` INT NOT NULL AUTO_INCREMENT, `mail` VARCHAR(100) NULL, `password` CHAR(32) NULL, `direccion` VARCHAR(200) NULL, `cpostal` CHAR(5) NULL, `ciudad` VARCHAR(50) NULL, PRIMARY KEY (`idclientes`)); CREATE TABLE `tienda`.`pedidos` ( `idpedidos` INT NOT NULL AUTO_INCREMENT, `idclientes` INT NULL, `fecha` DATETIME NULL, `importe` DECIMAL(6,2) NULL, `iva` DECIMAL(2,2) NULL, PRIMARY KEY (`idpedidos`)); CREATE TABLE `tienda`.`pedidos_productos` ( `idpedidos_productos` INT NOT NULL AUTO_INCREMENT, `idpedidos` INT NULL, `idproductos` INT NULL, `precio` DECIMAL(5,2) NULL, `cantidad` INT NULL,
PRIMARY KEY (`idpedidos_productos`)); ALTER TABLE `tienda`.`pedidos_productos` ADD INDEX `fk_productos_idx` (`idproductos` ASC); ALTER TABLE `tienda`.`pedidos_productos` ADD CONSTRAINT `fk_productos` FOREIGN KEY (`idproductos`) REFERENCES `tienda`.`productos` (`idproductos`) ON DELETE RESTRICT ON UPDATE NO ACTION; ALTER TABLE `tienda`.`pedidos_productos` ADD INDEX `fk_pedidos_idx` (`idpedidos` ASC); ALTER TABLE `tienda`.`pedidos_productos` ADD CONSTRAINT `fk_pedidos` FOREIGN KEY (`idpedidos`) REFERENCES `tienda`.`pedidos` (`idpedidos`) ON DELETE RESTRICT ON UPDATE NO ACTION; ALTER TABLE `tienda`.`pedidos` ADD INDEX `fk_clientes_idx` (`idclientes` ASC); ALTER TABLE `tienda`.`pedidos` ADD CONSTRAINT `fk_clientes` FOREIGN KEY (`idclientes`) REFERENCES `tienda`.`clientes` (`idclientes`) ON DELETE RESTRICT ON UPDATE NO ACTION;
Ejercicios PDO: importar, exportar, select
Mysqli vs. PDO
Mantenimiento de categorías con PDO
Ejemplo mantenimiento con mysqli orientado a objetos
Mostrar imágenes carpeta upload
chdir('upload'); if ($gestor = opendir('.')) { while (false !== ($entrada = readdir($gestor))) { if ($entrada != "." && $entrada != "..") { $info= pathinfo($entrada); if ($info['extension']=="jpg" || $info['extension']=="png"){ echo '<img width="50" height="50" src="upload/'.$entrada.'">'; } } } closedir($gestor); }
Ficheros array
<form enctype=”multipart/form-data” action=”archivo.php” method=”POST”>
<!– MAX_FILE_SIZE debe preceder al campo de entrada del fichero –>
<input type=”hidden” name=”MAX_FILE_SIZE” value=”300000″ />
<!– El nombre del elemento de entrada determina el nombre en el array $_FILES –>
Foto: <input name=”foto” type=”file” /><br/>
Curriculum: <input name=”curri” type=”file” /><br/>
Informes: <input name=”informe[]” type=”file” /><br/>
<input name=”informe[]” type=”file” /><br/>
<input name=”informe[]” type=”file” /><br/>
<input type=”submit” value=”Enviar fichero” /></form>
$dir_subida = 'upload/'; $foto = $dir_subida . basename($_FILES['foto']['name']); $curri = $dir_subida . basename($_FILES['curri']['name']); if (move_uploaded_file($_FILES['foto']['tmp_name'], $foto)) { echo "Foto subida con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } if (move_uploaded_file($_FILES['curri']['tmp_name'], $curri)) { echo "Curriculum subido con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } for ($i=0;$i<count($_FILES['informe']['name']);$i++){ if (move_uploaded_file($_FILES['informe']['tmp_name'][$i], $dir_subida . basename($_FILES['informe']['name'][$i]))) { echo "Informe $i subido con éxito.\n"; } else { echo "¡Posible ataque de subida de ficheros!\n"; } }