Script de creación Base de datos
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Álvaro García González</title>
<link rel="stylesheet" href="../webroot/css/estilos.css"/>
</head>
<body>
<?php /*
* Nombre: Alvaro Garcia Gonzalez
* Fecha: 06/11/2025
* Uso: Conexión base de datos */ ?>
<header>
<h1>Ejercico 4 Tema 4</h1>
<a href="../indexProyectoTema4.php"><button name="Volver">Volver</button></a>
</header>
<?php
require_once '../config/ConfDBPDO.php';
require_once "../core/231018libreriaValidacion.php"; // importamos nuestra libreria
//array con los nombres de los atributos de PDO
$miDB; // variable para realizar la conexión a la base de datos
$terminoBusqueda = '%%'; // termino de busqueda explicado al usarlo
$entradaOK = true; //Variable que nos indica que todo va bien
$aErrores = [ //Array donde recogemos los mensajes de error
'T02_DescDepartamento' => ''
];
$aRespuestas=[ //Array donde recogeremos la respuestas correctas (si $entradaOK)
'T02_DescDepartamento' => ''
];
//Para cada campo del formulario: Validar entrada y actuar en consecuencia
if (isset($_REQUEST["enviar"])) {//Código que se ejecuta cuando se envía el formulario
// Solo queremos validar se introduce algo, sino mostraremos despues todos los registros
if (!empty($_REQUEST['T02_DescDepartamento'])) {
// Validamos los datos del formulario
$aErrores['T02_DescDepartamento']= validacionFormularios::comprobarAlfabetico($_REQUEST['T02_DescDepartamento'],255,0,1);
foreach($aErrores as $campo => $valor){
if(!empty($valor)){ // Comprobar si el valor es válido
$entradaOK = false;
}
}
}
} else {//Código que se ejecuta antes de rellenar el formulario
$entradaOK = false;
}
//Tratamiento del formulario
if($entradaOK){ //Cargar la variable $aRespuestas y tratamiento de datos OK
// Recuperar los valores del formulario
$aRespuestas['T02_DescDepartamento'] = $_REQUEST['T02_DescDepartamento'] ?? ''; // Usamos el operador ?? para asegurar un valor si no existe
// Preparamos el término de búsqueda con comodines y en minúsculas para la búsqueda LIKE.
// Los % indica que puede tener cualquier cosa antes y después.
// Si la descripción está vacía, el término será '%%', devolviendo todos los resultados.
$terminoBusqueda = '%'.$aRespuestas['T02_DescDepartamento'].'%';
}
?>
<h2>Buscar departamento</h2>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<label for="T02_DescDepartamento">Introduce Departamento a Buscar a traves de su descripción: </label>
<br>
<input type="text" name="T02_DescDepartamento" class="obligatorio" value="<?php echo $_REQUEST['T02_DescDepartamento']??'' ?>">
<span class="error"><?php echo $aErrores['T02_DescDepartamento'] ?></span>
<br>
<input type="submit" value="Buscar" name="enviar">
<a href="../indexProyectoTema4.php" class="cancelar">Cancelar</a>
</form>
</main>
<?php
try {
$miDB = new PDO(DNS,USERNAME,PASSWORD);
$miDB->exec("use DBAGGDWESProyectoTema4;");
$sql = <<<sql
select * from T02_Departamento
where T02_DescDepartamento like ?
sql;
$consulta = $miDB->prepare($sql);
$consulta->bindParam(1, $terminoBusqueda);
$consulta->execute();
echo '<table>';
echo '<tr>';
echo '<th>Código</th>';
echo '<th>Departamento</th>';
echo '<th>Fecha de Creacion</th>';
echo '<th>Volumen de Negocio</th>';
echo '<th>Fecha de Baja</th>';
echo '</tr>';
while ($registro = $consulta->fetch()) {
echo '<tr>';
echo '<td>'.$registro['T02_CodDepartamento'].'</td>';
echo '<td>'.$registro["T02_DescDepartamento"].'</td>';
// construimos la fecha a partir de la que hay en la bbdd y luego mostramos sólo dia mes y año
$oFecha = new DateTime($registro["T02_FechaCreacionDepartamento"]);
echo '<td>'.$oFecha->format('d/m/Y').'</td>';
// formateamos el float para que se vea en €
echo '<td>'.number_format($registro["T02_VolumenDeNegocio"],2,',','.').' €</td>';
if (is_null($registro["T02_FechaBajaDepartamento"])) {
echo '<td></td>';
} else {
$oFecha = new DateTime($registro["T02_FechaBajaDepartamento"]);
echo '<td>'.$oFecha->format('d/m/Y').'</td>';
}
echo '</tr>';
}
echo '</table>';
} catch (PDOException $miExceptionPDO) {
echo 'Error: '.$miExceptionPDO->getMessage();
echo '<br>';
echo 'Código de error: '.$miExceptionPDO->getCode();
} finally {
unset($miDB);
}
?>
<footer>
<p><a href="../../index.html">Álvaro García González</a></p>
<p>Última actualización <time datetime="2025-11-10">10/11/2025</time></p>
</footer>
</body>
</html>