diff --git a/Practicas/Practicas_PHP/codigo/INTRO_PHP_HEADER.php b/Practicas/Practicas_PHP/codigo/INTRO_PHP_HEADER.php new file mode 100644 index 0000000..1137d6d --- /dev/null +++ b/Practicas/Practicas_PHP/codigo/INTRO_PHP_HEADER.php @@ -0,0 +1,38 @@ + \ No newline at end of file diff --git a/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP.php b/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP.php new file mode 100644 index 0000000..6049c6d --- /dev/null +++ b/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP.php @@ -0,0 +1,80 @@ + + + +"; + // mysqli_fetch_array(): Retorna una fila de resultados como un array asociativo, numérico, o ambos. + //mysqli_fetch_array(mysqli_result $resultado, int $tipo = MYSQLI_BOTH): array|false + var_dump(mysqli_fetch_array($resultado)); + echo "
"; + // mysqli_fetch_row(): Retorna una fila de resultados como un array numérico. + var_dump(mysqli_fetch_row($resultado)); + echo "
"; + // mysqli_fetch_object(): Retorna una fila de resultados como un objeto. + var_dump(mysqli_fetch_object($resultado)); + echo "
"; + // mysqli_data_seek(): Mueve el puntero interno del resultado a una fila específica. + mysqli_data_seek($resultado,3); + var_dump(mysqli_fetch_assoc($resultado)); + echo "
"; + // mysqli_field_count(): Retorna el número de columnas en el resultado. + echo mysqli_field_count($conexion); + echo "
"; + // mysqli_num_rows(): Retorna el número de filas en el resultado. + echo mysqli_num_rows($resultado); + echo "
"; + // mysqli_free_result(): Libera la memoria asociada con el resultado. + // mysqli_free_result($resultado); + +// Comprobar que no esta vacio el resultado +if (mysqli_num_rows($resultado) > 0) { + while($fila = mysqli_fetch_assoc($resultado)) { + echo "Campo1: " . $fila["producto_id"]. " - Campo2: " . $fila["nombre"]. "
"; + } +} else { + echo "No se encontraron resultados"; +} + +// Cerrar la conexión +mysqli_close($conexion); +?> + diff --git a/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP_INSERT.php b/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP_INSERT.php index 6214a2b..87795e1 100644 --- a/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP_INSERT.php +++ b/Practicas/Practicas_SQL/codigo/INTRO_SQL_pasos_consulta_PHP_INSERT.php @@ -1,6 +1,4 @@ - - + + + + + + + Listado Productos + + + +
+ +

+ +

+ + +

+ + +

+ + +

+ + +

+ + + +
+ + + + + + + Id + Nombre + Precio + Fecha Alta + + + '; + + if (mysqli_num_rows($resultado) > 0) { + while ($fila = mysqli_fetch_assoc($resultado)) { + echo ""; + echo "" . $fila["producto_id"] . ""; + echo "" . $fila["nombre"] . ""; + echo "" . $fila["precio"] . ""; + echo "" . date("d/m/Y", strtotime($fila["fecha_alta"])) . ""; + echo ""; + } + } else { + echo "No se encontraron resultados"; + } + echo ' + + '; + + mysqli_free_result($resultado); + mysqli_close($conexion); + } + ?> + + + + \ No newline at end of file diff --git a/Practicas/Practicas_SQL/ejercicios/tienda/login.php b/Practicas/Practicas_SQL/ejercicios/tienda/login.php new file mode 100644 index 0000000..75ae340 --- /dev/null +++ b/Practicas/Practicas_SQL/ejercicios/tienda/login.php @@ -0,0 +1,62 @@ + + + + + + + + Registro Clientes + + + +
+ + + + + + + + +
+ + + 0) { + $usuario = mysqli_fetch_assoc($resultado); + if (password_verify($password, $usuario['contraseña'])) { + echo "Correcto"; + session_start(); + $_SESSION['email'] = $email; + header("Location: realizar_pedido.php"); + exit(); + } else { + echo "

Contraseña incorrecta. Por favor, intenta de nuevo.

"; + } + } else { + echo "

No se encontró ningún usuario con el correo electrónico proporcionado.

"; + } + mysqli_close($conexion); +} +?> + + \ No newline at end of file diff --git a/Practicas/Practicas_SQL/ejercicios/tienda/modificar_productos.php b/Practicas/Practicas_SQL/ejercicios/tienda/modificar_productos.php new file mode 100644 index 0000000..502b0bb --- /dev/null +++ b/Practicas/Practicas_SQL/ejercicios/tienda/modificar_productos.php @@ -0,0 +1,97 @@ + + + + + + + + Modificador Productos + + + + +
+ +

+ +
+ + + 0) { + $fila = mysqli_fetch_assoc($resultado); + $nombre_old = $fila["nombre"]; + $precio_old = $fila["precio"]; + + ?> +
+ +

+ +

+ + +
+ + No se ha encontrado ningun registro

"; + } + mysqli_close($conexion); + } + + if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['nombre'], $_POST['precio'], $_POST['id'])) { + $nombre = $_POST['nombre']; + $precio = $_POST['precio']; + $id = $_POST['id']; + unset($_POST); + + $nombre_servidor = "localhost"; + $nombre_usuario = "root"; + $contraseña = "Logomark8"; + $nombre_base_datos = "tienda"; + + mysqli_report(MYSQLI_REPORT_OFF); + $conexion = mysqli_connect($nombre_servidor, $nombre_usuario, $contraseña, $nombre_base_datos); + if (!$conexion) { + exit("Error de conexión: " . mysqli_connect_error()); + } + + $actualizacion_sql = "UPDATE productos SET nombre='$nombre', precio='$precio' WHERE producto_id ='$id'"; + $resultado_actualizacion = mysqli_query($conexion, $actualizacion_sql); + if (!$resultado_actualizacion) { + exit("Error al actualizar el registro: " . mysqli_error($conexion)); + } else { + echo "

¡Registro actualizado correctamente!

"; + } + mysqli_close($conexion); + } + + ?> + + + + \ No newline at end of file diff --git a/Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php b/Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php new file mode 100644 index 0000000..ec69f52 --- /dev/null +++ b/Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php @@ -0,0 +1,116 @@ + + + + + + + + Registro Clientes + + + +
+ + + + + + + + + + + + + + + + +
+ + + Ya existe un cliente con ese correo

"; + exit(); + } + + + if (saveCliente($nombre, $email, $direccion, $conexion) === false) { + echo "

Ocurrio un problema al almacenar el registro de Cliente

"; + exit(); + } else { + if (saveUser($username, $email, $password, $conexion) === false) { + echo "

Ocurrio un problema al almacenar el registro de Cliente

"; + exit(); + } else { + echo "

El cliente ha sido registrado correctamente

"; + $mensaje = "Puedes loguearte, ya estás registrado"; + $mensaje_codificado = urlencode($mensaje); + header("Location: login.php?mensaje=".$mensaje_codificado); + exit; + } + } + mysqli_close($conexion); +} + + +function getUserByEmail($email, $conexionSql) +{ + $consulta_sql = "SELECT * FROM clientes WHERE correo_electronico = '$email'"; + $resultado = mysqli_query($conexionSql, $consulta_sql); + if (!$resultado) { + exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql)); + } + return mysqli_num_rows($resultado) > 0 ? true : false; +} + +function saveCliente($nombre, $email, $direccion, $conexionSql) +{ + $insercion_sql = "INSERT INTO clientes (nombre, correo_electronico, direccion) VALUES ('$nombre', '$email', '$direccion')"; + $resultado = mysqli_query($conexionSql, $insercion_sql); + if (!$resultado) { + exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql)); + } + return $resultado; +} + +function saveUser($username, $email, $password, $conexionSql) +{ + // $insercion_sql = "INSERT INTO usuarios (nombre_usuario, contraseña, cliente_id, correo_electronico) + // VALUES ('$username', '$password', (SELECT cliente_id FROM clientes WHERE correo_electronico = '$email'),'$email')"; + + $insercion_sql = "INSERT INTO usuarios (nombre_usuario, contraseña, cliente_id, correo_electronico) + SELECT '$username', '$password', cliente_id, '$email' FROM clientes WHERE correo_electronico = '$email'"; + + $resultado = mysqli_query($conexionSql, $insercion_sql); + if (!$resultado) { + exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql)); + } + return $resultado; +} + +?> + + + \ No newline at end of file diff --git a/Practicas/Practicas_SQL/ejercicios/tienda/registro_productos.php b/Practicas/Practicas_SQL/ejercicios/tienda/registro_productos.php index cd49a97..fd199e7 100644 --- a/Practicas/Practicas_SQL/ejercicios/tienda/registro_productos.php +++ b/Practicas/Practicas_SQL/ejercicios/tienda/registro_productos.php @@ -31,6 +31,8 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { $contraseña = "Logomark8"; $nombre_base_datos = "tienda"; + mysqli_report(MYSQLI_REPORT_OFF); + $conexion = mysqli_connect($nombre_servidor, $nombre_usuario, $contraseña, $nombre_base_datos); if (!$conexion) { exit("Error de conexión: " . mysqli_connect_error()); @@ -46,7 +48,6 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { mysqli_close($conexion); } - ?> \ No newline at end of file