· 7 years ago · Dec 13, 2018, 02:56 PM
1// Ejercicio6.html
2
3<!DOCTYPE html>
4<html lang="en">
5<head>
6 <meta charset="UTF-8">
7 <title>Gestión de la base de datos</title>
8 <link rel="stylesheet" type="text/css" href="Ejercicio6.css">
9</head>
10<body>
11 <h1>Menú para la gestión de la base de datos</h1>
12 <section>
13 <h2>Pruebas de usabilidad</h2>
14 <form action="BaseDatos.php" method="post">
15 <input type="submit" value="Crear base de datos vacÃa" name="createEmpty">
16 <input type="submit" value="Crear tabla" name="createTable">
17 <input type="submit" value="Insertar datos en la tabla" name="displayInsertForm">
18 <input type="submit" value="Buscar datos en la tabla" name="searchInTable">
19 <input type="submit" value="Modificar datos en la tabla" name="modifyDataInTable">
20 <input type="submit" value="Eliminar datos de la tabla" name="removeDateFromTable">
21 <input type="submit" value="Generar informe" name="generateReport">
22 <input type="submit" value="Cargar datos desde un archivo en la tabla de la base de datos" name="loadDataToTable">
23 <input type="submit" value="Exportar datos a un archivo los datos desde la tabla de la base de datos" name="exportDataFromTable">
24 </form>
25 </section>
26</body>
27</html>
28
29// BaseDatos.php
30
31<?php
32
33class BaseDatos
34{
35 // connection data
36 private $servername = "localhost";
37 private $user = "DBUSER2018";
38 private $pswd = "DBPSWD2018";
39
40 private $db;
41
42 public function connect() {
43 $conn = new mysqli($this -> servername, $this ->user, $this -> pswd);
44
45 // test connection
46 if($conn -> connect_error) {
47 exit ("<p>Connection ERROR:".$conn -> connect_error."</p>");
48 } else {
49 echo "<p>Connection established</p>";
50 $this -> db = $conn;
51 }
52 }
53
54 public function createEmpty() {
55 $this -> connect();
56
57 // create database
58 $query = "CREATE DATABASE IF NOT EXISTS PRUEBAS_USABILIDAD COLLATE utf8_spanish_ci";
59 if($this -> db -> query($query) === TRUE){
60 echo "<p>Database PRUEBAS_USABILIDAD created succesfully</p>";
61 } else {
62 echo "<p>Error creating database PRUEBAS_USABILIDAD</p>";
63 exit();
64 }
65
66 // close connection
67 $this -> db ->close();
68 }
69
70 public function createTable() {
71 $this -> connect();
72
73 $this -> db -> select_db("PRUEBAS_USABILIDAD");
74
75 $query = "CREATE TABLE IF NOT EXISTS PRUEBASUSABILIDAD (
76 id INT NOT NULL AUTO_INCREMENT,
77 idPersona INT NOT NULL,
78 edad INT,
79 sexo VARCHAR(255),
80 nivelInf INT,
81 tiempoEmpleado INT,
82 tareaRealizada TINYINT(1),
83 comentariosProblemas VARCHAR(255),
84 comentariosMejoras VARCHAR(255),
85 valoracion INT,
86 PRIMARY KEY (id),
87 CHECK (nivelInf >= 0 AND nivelInf <= 10),
88 CHECK (valoracion >= 0 AND valoracion <= 10),
89 CHECK (tiempoEmpleado >= 0),
90 CHECK (edad >= 0))";
91
92
93 if($this -> db -> query($query) === TRUE){
94 echo "<p>Table PRUEBASUSABILIDAD created succesfully</p>";
95 } else {
96 echo "<p>Error creating table PRUEBASUSABILIDAD</p>";
97 exit();
98 }
99
100 // close connection
101 $this -> db -> close();
102
103 }
104
105 public function displayInsertForm() {
106 include 'Insert.html';
107 }
108
109 public function insertToTable() {
110 $this -> connect();
111 $this -> db -> select_db("PRUEBAS_USABILIDAD");
112
113 $query = $this -> db -> prepare("INSERT INTO pruebasusabilidad (idPersona, edad, sexo, nivelInf, tiempoEmpleado, tareaRealizada, comentariosProblemas, comentariosMejoras, valoracion) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
114
115 $query -> bind_param('iisiiissi',
116 $_POST["personCode"],$_POST["edad"], $_POST["sexo"], $_POST["nivelInf"], $_POST["tiempoEmpleado"], $_POST["isCorrect"], $_POST["comentariosProblemas"], $_POST["comentariosPropuestas"], $_POST["valoracion"]);
117
118 $query -> execute();
119
120 echo "<p>Affected rows: ".$query->affected_rows."</p>";
121
122 $query -> close();
123 $this -> db -> close();
124 }
125
126 public function searchInTable() {
127
128 }
129
130 public function modifyDataInTable() {
131
132 }
133
134 public function removeDateFromTable() {
135
136 }
137
138 public function loadDataToTable() {
139
140 }
141
142 public function exportDataFromTable() {
143
144 }
145
146 public function generateReport() {
147
148 }
149}
150
151$db = new BaseDatos();
152
153if(isset($_POST["createEmpty"])) {
154 $db -> createEmpty();
155}
156
157if(isset($_POST["createTable"])) {
158 $db -> createTable();
159}
160
161if(isset($_POST["displayInsertForm"])) {
162 $db -> displayInsertForm();
163}
164
165if(isset($_POST["searchInTable"])) {
166 $db -> createEmpty();
167}
168
169if(isset($_POST["modifyDataInTable"])) {
170 $db -> modifyDataInTable();
171}
172
173if(isset($_POST["removeDateFromTable"])) {
174 $db -> removeDateFromTable();
175}
176
177if(isset($_POST["loadDataToTable"])) {
178 $db -> loadDataToTable();
179}
180
181if(isset($_POST["exportDataFromTable"])) {
182 $db -> exportDataFromTable();
183}
184
185if(isset($_POST["generateReport"])) {
186 $db -> generateReport();
187}
188
189if(isset($_POST["insertToTable"])) {
190 $db -> insertToTable();
191}
192
193?>
194
195// Insert.html
196
197<!DOCTYPE html>
198<html lang="es">
199
200<head>
201 <title>Insertar en la base de datos</title>
202 <meta charset="UTF-8">
203 <link rel="stylesheet" href="style.css">
204</head>
205
206<body>
207<h1>Insertar en la base de datos</h1>
208 <section>
209 <h2>Pruebas de usabilidad</h2>
210 <p>Formulario para cargar datos de cada prueba de usabilidad</p>
211 <form method="post" action="BaseDatos.php" id="inputForm">
212 <p>Código de persona: <input type="text" name="personCode" /></p>
213 <p>Edad: <input type="number" name="edad" min="0" /></p>
214 <p>Sexo: <input type="text" name="sexo" /></p>
215 <p>Nivel de informática: <input type="range" name="nivelInf" min="0" max="10" /></p>
216 <p>Tiempo empleado (mins): <input type="text" name="tiempoEmpleado" min="0" /></p>
217 <p>Tarea realizada correctamente: <input type="checkbox" name="isCorrect" /></p>
218 <p>Problemas:</p>
219 <textarea name="comentariosProblemas" cols="30" rows="10" form="inputForm"></textarea>
220 <p>Propuestas:</p>
221 <textarea name="comentariosPropuestas" cols="30" rows="10" form="inputForm"></textarea>
222 <p>Valoración: <input type="range" name="valoracion" min="0" max="10" /></p>
223 <input class="button" type="submit" name="insertToTable" value="Insertar" />
224 </form>
225 </section>
226</body>
227</html>