Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/pdo/ejercicios»

De WikiEducator
Saltar a: navegación, buscar
 
(4 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/pdo/nav}}
 
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/BasesDatos/pdo/nav}}
{{Plegable|hide|Title=Create SQL de una tienda|
+
{{Plegable|hide|Create SQL de una tienda|
 
<source lang=sql>
 
<source lang=sql>
 
-- Creamos la base de datos
 
-- Creamos la base de datos
Línea 51: Línea 51:
 
</source>
 
</source>
 
}}
 
}}
{{Plegable|hide|Title=Poblar base de datos dwes|
+
{{Plegable|hide|Poblar base de datos dwes|
 
<source lang=sql>
 
<source lang=sql>
 
USE `dwes`;
 
USE `dwes`;
Línea 145: Línea 145:
 
</source>
 
</source>
  
 +
}}
 +
 +
 +
 +
{{Actividad|Title=Gestión productos|
 +
;PRACTICA DE BASES DE DATOS USANDO PDO
 +
*Partiendo de la base de datos '''''dwes''''' usada en la explicación de este tema ,se pide que realicéis una aplicación que permita gestionar los registros de la tabla '''productos'''.
 +
*La aplicación se dividirá entres páginas web:
 +
;1 listado.php.
 +
*Mostrara un cuadro desplegable que permita seleccionar un registro de la tabla familias, junto a un botón "Mostrar". *Al pulsar el botón, se mostrará un listado de los productos de la familia seleccionada.
 +
*Para cada producto, se mostrará su nombre corto y su PVP, junto a un botón con el texto '''''Editar''''' (se puede usar como opción crear un formulario distinto por cada producto).
 +
*Cuando se pulse ese botón, se enviará el formulario a la página '''editar.php'''.
 +
[[Archivo:pdo_listado.png]]
 +
;2 Editar.php:
 +
*Debe mostrar los datos del producto seleccionado en la página anterior (nombre corto, nombre, descripción y PVP) dentro de un formulario que permita cambiarlos, y dos botones: '''Actualizar''' y '''Cancelar'''. El formulario se enviará a la página '''''actualizar.php'''''.
 +
[[Archivo:pdo_editar.png]]
 +
;3 actulizar.php:
 +
*Esta página simplemente redirige a la página listado.php, pero si en el formulario anterior se ha pulsado '''Actualizar''' (y no '''Cancelar'''),
 +
*antes de redirigir debe ejecutar una consulta para cambiar los datos del producto.
 +
*Para redirigir se puede utilizar un formulario con un botón "Continuar" o bien dentro del encabezado la  etiqueta
 +
<source lang=php>
 +
<meta http-equiv='refresh' content='1'; url=…>
 +
</source>
 +
Para acceder a la base de datos se debe usar mysql, realizando todas las consultas parametrizadas.
 +
{{Plegable|hide|Plantilla.php|
 +
<source lang=php>
 +
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 +
<html>
 +
<head>
 +
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 +
  <title>Plantilla para Ejercicios Tema 3</title>
 +
  <link href="dwes.css" rel="stylesheet" type="text/css">
 +
</head>
 +
 +
<body>
 +
 +
<div id="encabezado">
 +
<h1>Ejercicio: </h1>
 +
<form id="form_seleccion" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
 +
</form>
 +
</div>
 +
 +
<div id="contenido">
 +
<h2>Contenido</h2>
 +
</div>
 +
 +
<div id="pie">
 +
</div>
 +
</body>
 +
</html>
 +
</source>
 +
}}
 +
 +
{{Plegable|hide|estilo.css|
 +
<source lang=css>
 +
.error {
 +
  font-family: Verdana, Arial, sans-serif;
 +
  font-size: 0.7em;
 +
  color: #900;
 +
  background-color : #ffff00;
 +
}
 +
 +
.divisor {
 +
  clear:both;
 +
  height:0;
 +
  font-size: 1px;
 +
  line-height: 0px;
 +
}
 +
 +
#login fieldset {
 +
  position: absolute;
 +
  left: 50%;
 +
  top: 50%;
 +
  width: 230px;
 +
  margin-left: -115px;
 +
  height: 160px;
 +
  margin-top: -80px;
 +
  padding:10px;
 +
  border:1px solid #ccc;
 +
  background-color: #eee;
 +
}
 +
 +
#login legend {
 +
  font-family : Arial, sans-serif;
 +
  font-size: 1.3em;
 +
  font-weight:bold;
 +
  color:#333;
 +
}
 +
 +
#login .campo {
 +
  margin-top:8px;
 +
  margin-bottom: 10px;
 +
}
 +
 +
#login label {
 +
  font-family : Arial, sans-serif;
 +
  font-size:0.8em;
 +
  font-weight: bold;
 +
}
 +
 +
 +
#login input[type="text"], #login input[type="password"] {
 +
  font-family : Arial, Verdana, sans-serif;
 +
  font-size: 0.8em;
 +
  line-height:140%;
 +
  color : #000;
 +
  padding : 3px;
 +
  border : 1px solid #999;
 +
  height:18px;
 +
  width:220px;
 +
}
 +
 +
#login input[type="submit"] {
 +
  width:100px;
 +
  height:30px;
 +
  padding-left:0px;
 +
}
 +
 +
.pagproductos body, .pagcesta body  {
 +
  font: 100% Verdana, Arial, Helvetica, sans-serif;
 +
  background: #666;
 +
  margin: 0;
 +
  padding: 0;
 +
  text-align: center;
 +
  color: #000000;
 +
}
 +
 +
#contenedor {
 +
  width: 90%;
 +
  background: #fff;
 +
  margin: 0 auto;
 +
  border: 1px solid #000;
 +
  text-align: left;
 +
}
 +
 +
#encabezado {
 +
  padding: 0 10px;
 +
  border-top-width: thin;
 +
  border-right-width: thin;
 +
  border-bottom-width: thin;
 +
  border-left-width: thin;
 +
  border-top-style: solid;
 +
  border-right-style: solid;
 +
  border-bottom-style: solid;
 +
  border-left-style: solid;
 +
  background-color: #9cf;
 +
}
 +
 +
#encabezado h1 {
 +
  margin: 0;
 +
  padding: 10px 0;
 +
}
 +
.pagproductos #cesta {
 +
  float: right;
 +
  width: 12em;
 +
  background-color: #588;
 +
}
 +
.pagproductos #cesta h3 {
 +
  margin-left: 10px;
 +
  margin-right: 10px;
 +
}
 +
.pagproductos #cesta p {
 +
  margin-left: 10px;
 +
  margin-right: 10px;
 +
  font-size: 10px;
 +
}
 +
 +
.pagproductos #cesta input[type="submit"] {
 +
  margin-left: 10px;
 +
  margin-right: 10px;
 +
  margin-bottom: 3px;
 +
  width:100px;
 +
  height:30px;
 +
  padding-left:0px;
 +
}
 +
 +
.pagproductos #productos {
 +
  margin: 0 10em 0 10px;
 +
}
 +
 +
.pagcesta #productos {
 +
  margin: 10px;
 +
  font-size: 12px;
 +
}
 +
 +
.pagproductos #productos input, .pagproductos #productos p {
 +
  font-size: 10px;
 +
}
 +
 +
#productos .codigo {
 +
  width: 20%;
 +
  float: left;
 +
}
 +
 +
#productos .nombre {
 +
  width: 60%;
 +
  float: left;
 +
}
 +
 +
#productos .precio {
 +
  width: 20%;
 +
  text-align: right;
 +
  font-weight: bold;
 +
}
 +
 +
#pie {
 +
  padding: 0 10px;
 +
  background-color: #99ccff;
 +
  border-top-width: thin;
 +
  border-right-width: thin;
 +
  border-bottom-width: thin;
 +
  border-left-width: thin;
 +
  border-top-style: solid;
 +
  border-right-style: solid;
 +
  border-bottom-style: solid;
 +
  border-left-style: solid;
 +
}
 +
</source>
 +
}}
 
}}
 
}}

Última revisión de 22:41 21 may 2018





Icon activity.jpg

Gestión productos

PRACTICA DE BASES DE DATOS USANDO PDO
  • Partiendo de la base de datos dwes usada en la explicación de este tema ,se pide que realicéis una aplicación que permita gestionar los registros de la tabla productos.
  • La aplicación se dividirá entres páginas web:
1 listado.php.
  • Mostrara un cuadro desplegable que permita seleccionar un registro de la tabla familias, junto a un botón "Mostrar". *Al pulsar el botón, se mostrará un listado de los productos de la familia seleccionada.
  • Para cada producto, se mostrará su nombre corto y su PVP, junto a un botón con el texto Editar (se puede usar como opción crear un formulario distinto por cada producto).
  • Cuando se pulse ese botón, se enviará el formulario a la página editar.php.

Pdo listado.png

2 Editar.php
  • Debe mostrar los datos del producto seleccionado en la página anterior (nombre corto, nombre, descripción y PVP) dentro de un formulario que permita cambiarlos, y dos botones: Actualizar y Cancelar. El formulario se enviará a la página actualizar.php.

Pdo editar.png

3 actulizar.php
  • Esta página simplemente redirige a la página listado.php, pero si en el formulario anterior se ha pulsado Actualizar (y no Cancelar),
  • antes de redirigir debe ejecutar una consulta para cambiar los datos del producto.
  • Para redirigir se puede utilizar un formulario con un botón "Continuar" o bien dentro del encabezado la etiqueta
 <meta http-equiv='refresh' content='1'; url=>

Para acceder a la base de datos se debe usar mysql, realizando todas las consultas parametrizadas.