SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
1. Conceptos básicos: BD, Tablas, Registros, Sistema Gestor de BD, SQL
Unidad X y XI
Herramientas de Base de Datos e Integración de Herramientas de Seguridad
Objetivo de la Unidad:
Estudiar los elemento que componen la Arquitectura Web aunado a las herramientas libre de bases de datos (Postgres) para
desarrollar la gestión de la información que genere el eje de trabajo de productivo en las comunidades automatizando los
procesos de cada módulo/componente a implantar
Laboratorio
Para continuar con el diseño de cuenta bancaria de la guía práctica de herencia donde se muestra un
diagrama de clase el siguiente paso es la creación del modelo relacional el cual es el siguiente;
Introducción
El objetivo de la presente guía, es la creación de bases de datos, en un sistema gestor de bases de datos
(sgbd) como lo es postgres; para que a través de Crear, Leer, Actualizar y Borrar (crud)
Objetivo.
Crear bases de datos para la construcción de un crud con aplicaciones Web orientado a objeto a través de la
interfaz PDO utilizando el patrón mvc (modelo-vista-controlador).
Requerimientos.
Se debe contar con: Un (1) computador teniendo como mínimo el Sistema Operativo Libre ( Canaima/Ubuntu), Apache,
Postgresql, PHP, Editor de Texto.
Componentes.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Analizando e interpretando el Modelo relacional, no vamos al sistema gestor de base de datos
postgres para la creación del modelo físico de la base de datos banco “bdctabanco”
CREATE DATABASE bdctabanco
Procedamos a crear las tablas de la base de datos bdctabanco
CREATE TABLE titular (
cod_titular Serial,
cedula character varying(12) ,
nombre character varying(30) ,
sexo "char",
direccion character varying(100) ,
CONSTRAINT pk_codtitular PRIMARY KEY (cod_titular),
CONSTRAINT ci_unica UNIQUE (cedula)
)
CREATE TABLE ctabco (
Idcta Serial,
nrocta character varying(20) ,
tipocta character varying(30) ,
fecha_apertura date,
saldo_disponible double precision,
cod_titular integer,
CONSTRAINT ctabco_pkey PRIMARY KEY (idcta),
CONSTRAINT uniconrocta UNIQUE (nrocta),
CONSTRAINT fkey_titular FOREIGN KEY (cod_titular)
REFERENCES public.titular (cod_titular) MATCH SIMPLE
ON UPDATE CASCADE
ON DELETE CASCADE )
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
En el servidor se crea la carpeta GestionBD, MVC
En la carpeta Modelo se crea el archivo conexión.php que contiene la implementación de la clase
BD que hereda de PDO
<?php
class BD extends PDO {
private $host='localhost';
private $bd= 'bdctabanco';
private $password='lissette';
private $user='postgres';
private $port=5432;
private $conexion ; // Se guarda la conexion
public function __construct(){
try {
$conexion= parent::__construct("pgsql:host=$this->host ; port=$this->port; dbname=$this-
>bd; user=$this->user; password=$this->password");//ejecutamos la conexión
echo "conexion exitosa";
} catch (PDOException $e) {
echo "error en:".$e;
}// fin del catch }// fin del constructor
}// fin del constructor
}// fin de la clase
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
?>
En la carpeta controlador se crea el archivo conectarse el cual crea un objeto de conexión
<?php
require_once '../Modelo/claseconexion.php';
$conexion = new BD();
?>
Ahora ejecutamos el script conectarse.php
Ahora modificamos los valores de los atributos de la clase
<?php
class BD extends PDO {
public $host='localhost';
public $bd= 'bdctabancoooo';
public $password='lissette';
public $user='postgres';
public $port=5432;
private $conexion;
public function __construct(){
try {
$this->conexion= parent::__construct("pgsql:host=$this->host; port=$this->port; dbname=$this-
>bd; user=$this->user; password=$this->password");//ejecutamos la conexion
echo "conexion exitosa";
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
} catch (PDOException $e) {
echo "error en:".$e;
}// fin del catch }
}// fin de la clase
?>
Después de probar la conexión con la bd, Ahora debemos optimizar el código y adaptarlo al mapa de
navegación así como a los casos de usos.
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
//Codigo fuente del Menu de Opciones
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta nombre="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Sitio Web BancOro</title>
<link rel="stylesheet" href="./recursos/css/miestilos.css">
</head>
<body>
<header>
<img src="./recursos/img/ahorro.jpg" alt="Logo" width="30%">
</header>
<nav id="menu">
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<ul>
<li><a href="../Vista/VistaMenu.php">Principal </a> </li>
<li><a href="../Vista/VistaTitular.php">Titular</a></li>
<li><a href="">Cuentas</a></li>
<li><a href="">Operaciones </a></li>
<li><a href="">Reportes </a></li>
<li><a href="">Ayuda</a> </li>
<li>Salir </li>
</ul>
</nav>
<section id="principal">
</section>
<footer id="piespag">
<p>Derechos Reservados &copy; 2018 Lissette Torrealba</p>
</footer>
</body>
</html>
Al seleccionar la opción titular se muestra el siguiente formulario
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
//VistaTitular.php
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta nombre="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Sitio Web BancOro</title>
<link rel="stylesheet" href="../Vista/recursos/css/miestilos.css">
<script src="recursos/js/valida.js"></script>
</head>
<body>
<header>
<img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%">
</header>
<nav id="menu">
<ul>
<li><a href="">Principal </a> </li>
<li><a href="">Titular</a></li>
<li><a href="">Cuentas</a></li>
<li><a href="">Operaciones </a></li>
<li><a href="">Reportes </a></li>
<li><a href="">Ayuda</a> </li>
<li>Salir </li>
</ul>
</nav>
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<section id="principal">
<div id="contenido">
<form name="formulario" method="post" action="../Controlador/ControllerTitular.php"
class="col-xs-12 col-md-12">
<div class="col-xs-12 col-md-4">
<div class="form-group">
<label for="nombre">Cedula</label>
<input type="text" class="form-control" name="txtci" id="cedula" placeholder="cedula"
onblur="enviar()" required>
</div>
<div class="form-group">
<label for="nombre">Nombres</label>
<input type="text" class="form-control" name="txtNombre" id="nombre"
placeholder="Nombre" required>
</div>
<div class="form-group">
<label>Sexo</label><br>
<label>F</label> <input type="radio" name="sexo">
<label>M</label><input type="radio" name="sexo"><br>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Direccion </label>
<input type="text" class="form-control" name="txtdireccion" id="direccion"
maxlength="100" placeholder="Dire" requccion ired>
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
</div>
<div class="form-group">
<button type="submit" name = "btn" class="btn btn-primary" value = "Registrar">
Registrar </button>
<button type="submit" name = "btn" class="btn btn-primary" value = "Modificar">
Modificar </button>
<button type="button" name = "btninicio" class="btn btn-primary" value = "Inicio"
onclick="location.href = '../Vista/VistaMenu.php'" > Volver </button>
</div>
</form>
</div>
</section>
<footer id="piespag">
<p>Derechos Reservados &copy; 2018 Lissette Torrealba</p>
</footer>
</body>
</html>
Valida.js
function enviar(){
//con esto envias al servidor
//sin usar boton
var frmtitular = document.getElementById("formulario");
formulario.submit();
}
Clase conexión
<?php
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
class BD extends PDO {
public $host='localhost';
public $bd= 'bdctabanco';
public $password='lissette';
public $user='postgres';
public $port=5432;
public $repconexion ;
public $errorconexion ;
public $conex ;
public function __construct(){
try {
$this-> conex= parent::__construct("pgsql:host=$this->host; port=$this->port;
dbname=$this->bd; user=$this->user; password=$this->password");//ejecutamos la conexion
$this->repconexion = true;
$this->errorconexion="";
} catch (PDOException $e) {
$this->errorconexion = "error en:".$e;
}// fin del catch
}// fin del método constructor
public function getrRepConexion(){
return $this->repconexion; }
public function getErrorConexion() { //metodo que nos devuelve el mensaje de error si no llega a
darse la conexion
return $this->errorconexion;
}
}// fin de la clase
?>
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
Clase titular
<?php
require_once '../Modelo/claseconexion.php';
class Titular extends BD {
private $cedula;
private $nombre;
private $sexo;
private $direccion;
private $conex;
public function __construct(){
$this->conex = parent::__construct();
}// fin del constructor
// CRUD
public function Registrar(){
$strSql = 'INSERT INTO titular (cedula,nombre,sexo,direccion) VALUES
(:cedula, :nombre,:sexo,:direccion)';
$respuestaArreglo = '';
try {
$strExec = BD::prepare($strSql);
$strExec->bindValue(':cedula', $this->cedula);
$strExec->bindValue(':nombre', $this->nombre);
$strExec->bindValue(':sexo', $this->sexo);
$strExec->bindValue(':direccion', $this->direccion);
$strExec->execute();
$respuestaArreglo = $strExec->fetchAll(); //retornamos todos los datos de la ejecucion
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
$respuestaArreglo += ['estatus' => true];
return $respuestaArreglo;
} catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch
$errorReturn = ['estatus' => false];
$errorReturn += ['info' => "error sql:{$e}"];
return $errorReturn; //retornamos el contenido de esa variable
}
}// fin del metodo Registrar
public function consultar(){
$strSql = 'SELECT *FROM titular';
$respuestaArreglo = '';
try {
$strExec = BD::prepare($strSql);
$strExec->execute();
$strExec ->setFetchMode(PDO::FETCH_ASSOC);
$respuestaArreglo = $strExec->fetchAll(PDO::FETCH_ASSOC); //retornamos todos los datos de
la ejecucion
$respuestaArreglo += ['estatus' => true];
return $respuestaArreglo;
} catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch
$errorReturn = ['estatus' => false];
$errorReturn += ['info' => "error sql:{$e}"];
return $errorReturn; //retornamos el contenido de esa variable
}// fin del catch
}// fin del metodo consultar
public function Buscar($ci){
$strSql = "SELECT *FROM titular WHERE cedula ='$ci'";
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
$respuestaArreglo = '';
try {
$strExec = BD::prepare($strSql);
$strExec->execute();
$strExec ->setFetchMode(PDO::FETCH_ASSOC);
$respuestaArreglo = $strExec->fetchAll(PDO::FETCH_ASSOC); //retornamos todos los datos de
la ejecucion
$respuestaArreglo += ['estatus' => "true"];
return $respuestaArreglo;
} catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch
$errorReturn = ['estatus' => "false"];
$errorReturn += ['info' => "error sql:{$e}"];
return $errorReturn; ; //retornamos el contenido de esa variable
}// fin del catch
}// fin del metodo consultar
// METODOS SETTER
public function setCedula($ci){
$this->cedula=$ci; }
public function setNombre($nomb){
$this->nombre=$nomb; }
public function setSexo($sexo){
$this->sexo=$sexo;
}
public function setDireccion($direc){
$this->direccion=$direc;
}
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
// METODOS GETTER
public function getCedula(){
return $this->cedula;
}
public function getNombre(){
return $this->nombre;
}
public function getSexo(){
return $this->sexo;
}
public function getDireccion(){
return $this->direccion;
}
public function __toString(){
return $this->nombre . ' ' .$this->cedula;
}
}// fin de la clase
?>
ControllerTitular.php
<?php
require_once '../Modelo/clasetitular.php';
$objTitular = new Titular();
$ci= $_POST['txtci'];
$consulta = $objTitular->Buscar($ci);
if ($consulta['estatus'] && count($consulta)==2) {
require_once("../Vista/Vista_Actualizar.php"); // si encuentra la cedula la envía a la vista de
actualizar
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
}// fin del if
else{ // sin no lo encuentra lo envía al formulario de registrar
require_once("../Vista/Vista_registrarTitular.php");
}
?>
Vista_registrarTitular.php
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta nombre="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Sitio Web BancOro</title>
<link rel="stylesheet" href="../Vista/recursos/css/miestilos.css">
</head>
<body>
<header>
<img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%">
</header>
<nav id="menu">
<ul>
<li><a href="">Principal </a> </li>
<li><a href="">Titular</a></li>
<li><a href="">Cuentas</a></li>
<li><a href="">Operaciones </a></li>
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<li><a href="">Reportes </a></li>
<li><a href="">Ayuda</a> </li>
<li>Salir </li>
</ul>
</nav>
<section id="principal">
<div id="contenido">
<form name="formulario" class="formulario" method="post"
action="../Controlador/ControllerRegistrartitular.php" class="col-xs-12 col-md-12">
<div class="col-xs-12 col-md-4">
<div class="form-group">
<label for="nombre">Cedula</label>
<input type="text" class="form-control" name="ci" id="cedula" value= "<?php echo
$ci ?>" disabled>
<input type="hidden" name="txtcedu" value= "<?php echo $ci ?>">
</div>
<div class="form-group">
<label for="nombre">Nombres</label>
<input type="text" class="form-control" name="txtNombre" id="nombre"
placeholder="Nombre" required autofocus>
</div>
<div class="form-group">
<label>Sexo</label><br>
<label>F</label> <input type="radio" name="sexo">
<label>M</label><input type="radio" name="sexo"><br>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Direccion </label>
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<input type="text" class="form-control" name="txtdireccion" id="direccion"
maxlength="100" placeholder="Dire" requccion ired>
</div>
<div class="form-group">
<button type="submit" name = "btn" class="btn btn-primary" value = "Grabar"> Registrar
</button>
<button type="button" name = "btninicio" class="btn btn-primary" value = "Inicio"
onclick="location.href = '../Vista/menu.html'" > Volver </button>
</div>
</form>
</div>
</section>
<footer id="piespag">
<p>Derechos Reservados &copy; 2018 Lissette Torrealba</p>
</footer>
</body>
</html>
ControllerRegistrartitular.php
<?php
require_once '../Modelo/clasetitular.php';
$objTitular = new Titular();
$ci= $_POST['txtcedu'];
$nomb=$_POST['txtNombre'];
$sexo=$_POST['sexo'];
$dire=$_POST['txtdireccion'];
$objTitular->setCedula($ci);
$objTitular->setNombre($nomb);
$objTitular->setSexo($sexo);
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
$objTitular->setDireccion($dire);
$resulRegistrar=$objTitular->Registrar();
if ($resulRegistrar['estatus']== true) { ////verificamos si se ejecutó correctamente el método
del modelo
$mensaje = 'Registro Exitoso del Titular';
}else {//si hay un error al registrar
$mensaje = 'Error al registrar el Titular, contacte con el soporte';}
require_once '../Vista/VistaMsj.php';
?>
Vista_Actualizar.php // recibe el registro de la tabla y permite la modificación o eliminación al llamar
al controlleractualizar
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta nombre="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Sitio Web BancOro</title>
<link rel="stylesheet" href="../Vista/recursos/css/miestilos.css">
</head>
<body>
<header>
<img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%">
</header>
<nav id="menu">
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<ul>
<li><a href="">Principal </a> </li>
<li><a href="">Titular</a></li>
<li><a href="">Cuentas</a></li>
<li><a href="">Operaciones </a></li>
<li><a href="">Reportes </a></li>
<li><a href="">Ayuda</a> </li>
<li>Salir </li>
</ul>
</nav>
<section id="principal">
<div id="contenido">
<?php
if (isset($consulta)) {
if (!empty($consulta)) {
$impr = '';
foreach ($consulta as $valor) {
if (isset($valor['cedula'])) {
$impr = '
<form action="../Controlador/ControllerActualizatitular.php" method="post" class="formulario">
<div class="form-group">
<label>Cedula</label><br>
<input type="text" name="txtci" value="'.$valor['cedula'].'" />
</div>
<div class="form-group">
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
<label>Nombre</label><br>
<input type="text" name="txtNombre" id="nombre" value="'.$valor['nombre'].'"
placeholder="Introduzca su Nombre" required/>
</div>
<div class="form-group">
<label>Sexo</label><br>
<input type="text" class="form-control" name="txtsexo" id="txtsexo" maxlength="100"
value="'.$valor['sexo'].'" required><br>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Direccion </label>
<input type="text" class="form-control" name="txtdireccion" id="direccion" maxlength="100"
value="'.$valor['direccion'].'" required>
</div>
<div class="form-group">
<button type="submit" name = "btn" class="btn btn-primary" value = "Modificar">
Modificar </button>
<button type="submit" name = "btn" class="btn btn-primary" value = "Eliminar">
Eliminar </button>
</div>
</div>
</form>';
}
}
printf($impr);
}
}
?>
<button type="button" name = "btn" class="btn btn-primary" value = "Cancelar"
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
onclick="location.href='../Vista/VistaMenu.php'"> Cancelar </button>
</div>
</section>
<footer id="piespag">
<p>Derechos Reservados &copy; 2018 Lissette Torrealba</p>
</footer>
</body>
</html>
ControllerActualizatitular.php
<?php
require_once '../Modelo/clasetitular.php';
$objTitular = new Titular();
$ci= $_POST['txtci'];
$btn = $_POST['btn'];
echo $btn;
if($btn == "Modificar"){
$nomb=$_POST['txtNombre'];
$sexo=$_POST['txtsexo'];
$dire=$_POST['txtdireccion'];
$objTitular->setCedula($ci);
$objTitular->setNombre($nomb);
$objTitular->setSexo($sexo);
$objTitular->setDireccion($dire);
$resulRegistrar=$objTitular->Modificar();
if ($resulRegistrar['estatus']== true) { ////verificamos si se ejecutó correctamente el método
del modelo
$mensaje = 'Registro Exitoso Al Actualizar el Titular';
Universidad Politécnica Territorial Andrés Eloy Blanco
Programa Nacional de Formación en Informática
Ing. Lissette Torrealba
}else {//si hay un error al registrar
$mensaje = 'Error al Actualizar el Titular, contacte con el
soporte';
}
require_once '../Vista/VistaMsj.php';
} else{ // se ejecuta el eliminar
// código por terminar
}
?>
Referencias Bibliográficas
Un sitio clave para quienes programamos en PHP orientado a objetos es PHPClasses:
http://www.phpclasses.org
Creación de Base de Datos en Postgres
https://www.youtube.com/watch?v=_VO_HCK6v1M
https://www.youtube.com/watch?v=Ia8U_im9-N4

Más contenido relacionado

La actualidad más candente

Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021lissette_torrealba
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrapljds
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, JsJose Ponce
 
Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]msv3
 
Formulario
FormularioFormulario
Formularioljds
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web PhpJose Ponce
 
Guia practica java script
Guia practica java scriptGuia practica java script
Guia practica java scriptljds
 
Laboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoLaboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoFelipe Moreno
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y PhpJose Ponce
 
Programación orientada a objetos II
Programación orientada a objetos IIProgramación orientada a objetos II
Programación orientada a objetos IIyanburbano
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basicRaul Hernandez
 
Proyecto Aplicaciones Web
Proyecto Aplicaciones WebProyecto Aplicaciones Web
Proyecto Aplicaciones WebCesar Pineda
 

La actualidad más candente (20)

Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021
 
Guia bootstrap
Guia bootstrapGuia bootstrap
Guia bootstrap
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Guia reportes
Guia reportesGuia reportes
Guia reportes
 
2 4 formularios_php
2 4 formularios_php2 4 formularios_php
2 4 formularios_php
 
Guia N3 Proyectos Web Php Css, Js
Guia N3   Proyectos Web   Php Css, JsGuia N3   Proyectos Web   Php Css, Js
Guia N3 Proyectos Web Php Css, Js
 
Presentac..[1]
Presentac..[1]Presentac..[1]
Presentac..[1]
 
2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp2 8 cookiesy_sesionesphp
2 8 cookiesy_sesionesphp
 
Formulario
FormularioFormulario
Formulario
 
Guia N2 Proyectos Web Php
Guia N2   Proyectos Web   PhpGuia N2   Proyectos Web   Php
Guia N2 Proyectos Web Php
 
2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
Guia practica java script
Guia practica java scriptGuia practica java script
Guia practica java script
 
Laboratorio 3 Andres Moreno
Laboratorio 3 Andres MorenoLaboratorio 3 Andres Moreno
Laboratorio 3 Andres Moreno
 
Configuración del entorno
Configuración del entornoConfiguración del entorno
Configuración del entorno
 
Guia N4 Proyectos Web My Sql Y Php
Guia N4   Proyectos Web   My Sql Y PhpGuia N4   Proyectos Web   My Sql Y Php
Guia N4 Proyectos Web My Sql Y Php
 
Programación orientada a objetos II
Programación orientada a objetos IIProgramación orientada a objetos II
Programación orientada a objetos II
 
Curso php y_mysql
Curso php y_mysqlCurso php y_mysql
Curso php y_mysql
 
Manual poo-unidad-visual-basic
Manual poo-unidad-visual-basicManual poo-unidad-visual-basic
Manual poo-unidad-visual-basic
 
Practica 1 html_basico
Practica 1 html_basicoPractica 1 html_basico
Practica 1 html_basico
 
Proyecto Aplicaciones Web
Proyecto Aplicaciones WebProyecto Aplicaciones Web
Proyecto Aplicaciones Web
 

Similar a Guiapractica de bd completa (20)

Software de Búsqueda
Software de BúsquedaSoftware de Búsqueda
Software de Búsqueda
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 
Guia N5 Proyectos Web Consultas Php Y My Sql
Guia N5   Proyectos Web   Consultas Php Y My SqlGuia N5   Proyectos Web   Consultas Php Y My Sql
Guia N5 Proyectos Web Consultas Php Y My Sql
 
Anthony saravia documentacion-php
Anthony saravia documentacion-phpAnthony saravia documentacion-php
Anthony saravia documentacion-php
 
Jquery para principianes
Jquery para principianesJquery para principianes
Jquery para principianes
 
J M E R L I N P H P
J M E R L I N P H PJ M E R L I N P H P
J M E R L I N P H P
 
SEVILLA Meetups23032023.pdf
SEVILLA Meetups23032023.pdfSEVILLA Meetups23032023.pdf
SEVILLA Meetups23032023.pdf
 
Análisis de Datos con MongoDB
Análisis de Datos con MongoDBAnálisis de Datos con MongoDB
Análisis de Datos con MongoDB
 
IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005IntroduccióN A Sql Server 2005
IntroduccióN A Sql Server 2005
 
Introducción a DJango
Introducción a DJangoIntroducción a DJango
Introducción a DJango
 
Documentacion jhon elvis_quispe_gutierrez
Documentacion jhon elvis_quispe_gutierrezDocumentacion jhon elvis_quispe_gutierrez
Documentacion jhon elvis_quispe_gutierrez
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Informe grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuencaInforme grupal f_arinango_ cuenca
Informe grupal f_arinango_ cuenca
 
EXAMEN
EXAMENEXAMEN
EXAMEN
 
Julissa huaman hilari
Julissa huaman hilariJulissa huaman hilari
Julissa huaman hilari
 
Jacqueline nuñez pacco
Jacqueline nuñez paccoJacqueline nuñez pacco
Jacqueline nuñez pacco
 
Jacqueline nuñez pacco
Jacqueline nuñez paccoJacqueline nuñez pacco
Jacqueline nuñez pacco
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Web services restful con JAX-RS
Web services restful con JAX-RSWeb services restful con JAX-RS
Web services restful con JAX-RS
 
Curso php dia4
Curso php dia4Curso php dia4
Curso php dia4
 

Más de lissette_torrealba (20)

Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Plan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoríaPlan de evaluación proyecto i 2 teoría
Plan de evaluación proyecto i 2 teoría
 
Plan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodologíaPlan de evaluación proyecto i 2 metodología
Plan de evaluación proyecto i 2 metodología
 
Plan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 prácticaPlan de evaluacion proyecto i 2 práctica
Plan de evaluacion proyecto i 2 práctica
 
Guiajsvalidacion
GuiajsvalidacionGuiajsvalidacion
Guiajsvalidacion
 
Guiajs2
Guiajs2Guiajs2
Guiajs2
 
Rubrica 2021 electiva 2
Rubrica 2021 electiva 2Rubrica 2021 electiva 2
Rubrica 2021 electiva 2
 
Mapa Tecnopedagogia
Mapa TecnopedagogiaMapa Tecnopedagogia
Mapa Tecnopedagogia
 
Matriz DOFA lissette
Matriz DOFA lissetteMatriz DOFA lissette
Matriz DOFA lissette
 
Planevaluacionproyectoivpractica
PlanevaluacionproyectoivpracticaPlanevaluacionproyectoivpractica
Planevaluacionproyectoivpractica
 
Rubrica bd 2021
Rubrica  bd  2021Rubrica  bd  2021
Rubrica bd 2021
 
Proyecto formativo iv metodologia
Proyecto formativo iv metodologiaProyecto formativo iv metodologia
Proyecto formativo iv metodologia
 
Plan evaluacion teoria
Plan evaluacion teoriaPlan evaluacion teoria
Plan evaluacion teoria
 
Plan de Evaluacion
Plan de EvaluacionPlan de Evaluacion
Plan de Evaluacion
 
Ejemplos de interfaz grafica
Ejemplos de  interfaz grafica Ejemplos de  interfaz grafica
Ejemplos de interfaz grafica
 
Rubrica bd 2021
Rubrica bd 2021 Rubrica bd 2021
Rubrica bd 2021
 
Rubrica Programación II 2021
Rubrica Programación II 2021 Rubrica Programación II 2021
Rubrica Programación II 2021
 
Rup
RupRup
Rup
 
Documentosistema
DocumentosistemaDocumentosistema
Documentosistema
 
Guiaprueba
GuiapruebaGuiaprueba
Guiaprueba
 

Último

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 

Último (20)

2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 

Guiapractica de bd completa

  • 1. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba 1. Conceptos básicos: BD, Tablas, Registros, Sistema Gestor de BD, SQL Unidad X y XI Herramientas de Base de Datos e Integración de Herramientas de Seguridad Objetivo de la Unidad: Estudiar los elemento que componen la Arquitectura Web aunado a las herramientas libre de bases de datos (Postgres) para desarrollar la gestión de la información que genere el eje de trabajo de productivo en las comunidades automatizando los procesos de cada módulo/componente a implantar Laboratorio Para continuar con el diseño de cuenta bancaria de la guía práctica de herencia donde se muestra un diagrama de clase el siguiente paso es la creación del modelo relacional el cual es el siguiente; Introducción El objetivo de la presente guía, es la creación de bases de datos, en un sistema gestor de bases de datos (sgbd) como lo es postgres; para que a través de Crear, Leer, Actualizar y Borrar (crud) Objetivo. Crear bases de datos para la construcción de un crud con aplicaciones Web orientado a objeto a través de la interfaz PDO utilizando el patrón mvc (modelo-vista-controlador). Requerimientos. Se debe contar con: Un (1) computador teniendo como mínimo el Sistema Operativo Libre ( Canaima/Ubuntu), Apache, Postgresql, PHP, Editor de Texto. Componentes.
  • 2. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Analizando e interpretando el Modelo relacional, no vamos al sistema gestor de base de datos postgres para la creación del modelo físico de la base de datos banco “bdctabanco” CREATE DATABASE bdctabanco Procedamos a crear las tablas de la base de datos bdctabanco CREATE TABLE titular ( cod_titular Serial, cedula character varying(12) , nombre character varying(30) , sexo "char", direccion character varying(100) , CONSTRAINT pk_codtitular PRIMARY KEY (cod_titular), CONSTRAINT ci_unica UNIQUE (cedula) ) CREATE TABLE ctabco ( Idcta Serial, nrocta character varying(20) , tipocta character varying(30) , fecha_apertura date, saldo_disponible double precision, cod_titular integer, CONSTRAINT ctabco_pkey PRIMARY KEY (idcta), CONSTRAINT uniconrocta UNIQUE (nrocta), CONSTRAINT fkey_titular FOREIGN KEY (cod_titular) REFERENCES public.titular (cod_titular) MATCH SIMPLE ON UPDATE CASCADE ON DELETE CASCADE )
  • 3. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba En el servidor se crea la carpeta GestionBD, MVC En la carpeta Modelo se crea el archivo conexión.php que contiene la implementación de la clase BD que hereda de PDO <?php class BD extends PDO { private $host='localhost'; private $bd= 'bdctabanco'; private $password='lissette'; private $user='postgres'; private $port=5432; private $conexion ; // Se guarda la conexion public function __construct(){ try { $conexion= parent::__construct("pgsql:host=$this->host ; port=$this->port; dbname=$this- >bd; user=$this->user; password=$this->password");//ejecutamos la conexión echo "conexion exitosa"; } catch (PDOException $e) { echo "error en:".$e; }// fin del catch }// fin del constructor }// fin del constructor }// fin de la clase
  • 4. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba ?> En la carpeta controlador se crea el archivo conectarse el cual crea un objeto de conexión <?php require_once '../Modelo/claseconexion.php'; $conexion = new BD(); ?> Ahora ejecutamos el script conectarse.php Ahora modificamos los valores de los atributos de la clase <?php class BD extends PDO { public $host='localhost'; public $bd= 'bdctabancoooo'; public $password='lissette'; public $user='postgres'; public $port=5432; private $conexion; public function __construct(){ try { $this->conexion= parent::__construct("pgsql:host=$this->host; port=$this->port; dbname=$this- >bd; user=$this->user; password=$this->password");//ejecutamos la conexion echo "conexion exitosa";
  • 5. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba } catch (PDOException $e) { echo "error en:".$e; }// fin del catch } }// fin de la clase ?> Después de probar la conexión con la bd, Ahora debemos optimizar el código y adaptarlo al mapa de navegación así como a los casos de usos.
  • 6. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba //Codigo fuente del Menu de Opciones <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta nombre="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sitio Web BancOro</title> <link rel="stylesheet" href="./recursos/css/miestilos.css"> </head> <body> <header> <img src="./recursos/img/ahorro.jpg" alt="Logo" width="30%"> </header> <nav id="menu">
  • 7. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <ul> <li><a href="../Vista/VistaMenu.php">Principal </a> </li> <li><a href="../Vista/VistaTitular.php">Titular</a></li> <li><a href="">Cuentas</a></li> <li><a href="">Operaciones </a></li> <li><a href="">Reportes </a></li> <li><a href="">Ayuda</a> </li> <li>Salir </li> </ul> </nav> <section id="principal"> </section> <footer id="piespag"> <p>Derechos Reservados &copy; 2018 Lissette Torrealba</p> </footer> </body> </html> Al seleccionar la opción titular se muestra el siguiente formulario
  • 8. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba //VistaTitular.php <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta nombre="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sitio Web BancOro</title> <link rel="stylesheet" href="../Vista/recursos/css/miestilos.css"> <script src="recursos/js/valida.js"></script> </head> <body> <header> <img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%"> </header> <nav id="menu"> <ul> <li><a href="">Principal </a> </li> <li><a href="">Titular</a></li> <li><a href="">Cuentas</a></li> <li><a href="">Operaciones </a></li> <li><a href="">Reportes </a></li> <li><a href="">Ayuda</a> </li> <li>Salir </li> </ul> </nav>
  • 9. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <section id="principal"> <div id="contenido"> <form name="formulario" method="post" action="../Controlador/ControllerTitular.php" class="col-xs-12 col-md-12"> <div class="col-xs-12 col-md-4"> <div class="form-group"> <label for="nombre">Cedula</label> <input type="text" class="form-control" name="txtci" id="cedula" placeholder="cedula" onblur="enviar()" required> </div> <div class="form-group"> <label for="nombre">Nombres</label> <input type="text" class="form-control" name="txtNombre" id="nombre" placeholder="Nombre" required> </div> <div class="form-group"> <label>Sexo</label><br> <label>F</label> <input type="radio" name="sexo"> <label>M</label><input type="radio" name="sexo"><br> </div> <div class="form-group"> <label for="exampleInputPassword1">Direccion </label> <input type="text" class="form-control" name="txtdireccion" id="direccion" maxlength="100" placeholder="Dire" requccion ired>
  • 10. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba </div> <div class="form-group"> <button type="submit" name = "btn" class="btn btn-primary" value = "Registrar"> Registrar </button> <button type="submit" name = "btn" class="btn btn-primary" value = "Modificar"> Modificar </button> <button type="button" name = "btninicio" class="btn btn-primary" value = "Inicio" onclick="location.href = '../Vista/VistaMenu.php'" > Volver </button> </div> </form> </div> </section> <footer id="piespag"> <p>Derechos Reservados &copy; 2018 Lissette Torrealba</p> </footer> </body> </html> Valida.js function enviar(){ //con esto envias al servidor //sin usar boton var frmtitular = document.getElementById("formulario"); formulario.submit(); } Clase conexión <?php
  • 11. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba class BD extends PDO { public $host='localhost'; public $bd= 'bdctabanco'; public $password='lissette'; public $user='postgres'; public $port=5432; public $repconexion ; public $errorconexion ; public $conex ; public function __construct(){ try { $this-> conex= parent::__construct("pgsql:host=$this->host; port=$this->port; dbname=$this->bd; user=$this->user; password=$this->password");//ejecutamos la conexion $this->repconexion = true; $this->errorconexion=""; } catch (PDOException $e) { $this->errorconexion = "error en:".$e; }// fin del catch }// fin del método constructor public function getrRepConexion(){ return $this->repconexion; } public function getErrorConexion() { //metodo que nos devuelve el mensaje de error si no llega a darse la conexion return $this->errorconexion; } }// fin de la clase ?>
  • 12. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba Clase titular <?php require_once '../Modelo/claseconexion.php'; class Titular extends BD { private $cedula; private $nombre; private $sexo; private $direccion; private $conex; public function __construct(){ $this->conex = parent::__construct(); }// fin del constructor // CRUD public function Registrar(){ $strSql = 'INSERT INTO titular (cedula,nombre,sexo,direccion) VALUES (:cedula, :nombre,:sexo,:direccion)'; $respuestaArreglo = ''; try { $strExec = BD::prepare($strSql); $strExec->bindValue(':cedula', $this->cedula); $strExec->bindValue(':nombre', $this->nombre); $strExec->bindValue(':sexo', $this->sexo); $strExec->bindValue(':direccion', $this->direccion); $strExec->execute(); $respuestaArreglo = $strExec->fetchAll(); //retornamos todos los datos de la ejecucion
  • 13. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba $respuestaArreglo += ['estatus' => true]; return $respuestaArreglo; } catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch $errorReturn = ['estatus' => false]; $errorReturn += ['info' => "error sql:{$e}"]; return $errorReturn; //retornamos el contenido de esa variable } }// fin del metodo Registrar public function consultar(){ $strSql = 'SELECT *FROM titular'; $respuestaArreglo = ''; try { $strExec = BD::prepare($strSql); $strExec->execute(); $strExec ->setFetchMode(PDO::FETCH_ASSOC); $respuestaArreglo = $strExec->fetchAll(PDO::FETCH_ASSOC); //retornamos todos los datos de la ejecucion $respuestaArreglo += ['estatus' => true]; return $respuestaArreglo; } catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch $errorReturn = ['estatus' => false]; $errorReturn += ['info' => "error sql:{$e}"]; return $errorReturn; //retornamos el contenido de esa variable }// fin del catch }// fin del metodo consultar public function Buscar($ci){ $strSql = "SELECT *FROM titular WHERE cedula ='$ci'";
  • 14. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba $respuestaArreglo = ''; try { $strExec = BD::prepare($strSql); $strExec->execute(); $strExec ->setFetchMode(PDO::FETCH_ASSOC); $respuestaArreglo = $strExec->fetchAll(PDO::FETCH_ASSOC); //retornamos todos los datos de la ejecucion $respuestaArreglo += ['estatus' => "true"]; return $respuestaArreglo; } catch (PDOException $e) { //si hay un error en la instruccion sql entramos en el catch $errorReturn = ['estatus' => "false"]; $errorReturn += ['info' => "error sql:{$e}"]; return $errorReturn; ; //retornamos el contenido de esa variable }// fin del catch }// fin del metodo consultar // METODOS SETTER public function setCedula($ci){ $this->cedula=$ci; } public function setNombre($nomb){ $this->nombre=$nomb; } public function setSexo($sexo){ $this->sexo=$sexo; } public function setDireccion($direc){ $this->direccion=$direc; }
  • 15. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba // METODOS GETTER public function getCedula(){ return $this->cedula; } public function getNombre(){ return $this->nombre; } public function getSexo(){ return $this->sexo; } public function getDireccion(){ return $this->direccion; } public function __toString(){ return $this->nombre . ' ' .$this->cedula; } }// fin de la clase ?> ControllerTitular.php <?php require_once '../Modelo/clasetitular.php'; $objTitular = new Titular(); $ci= $_POST['txtci']; $consulta = $objTitular->Buscar($ci); if ($consulta['estatus'] && count($consulta)==2) { require_once("../Vista/Vista_Actualizar.php"); // si encuentra la cedula la envía a la vista de actualizar
  • 16. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba }// fin del if else{ // sin no lo encuentra lo envía al formulario de registrar require_once("../Vista/Vista_registrarTitular.php"); } ?> Vista_registrarTitular.php <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta nombre="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sitio Web BancOro</title> <link rel="stylesheet" href="../Vista/recursos/css/miestilos.css"> </head> <body> <header> <img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%"> </header> <nav id="menu"> <ul> <li><a href="">Principal </a> </li> <li><a href="">Titular</a></li> <li><a href="">Cuentas</a></li> <li><a href="">Operaciones </a></li>
  • 17. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <li><a href="">Reportes </a></li> <li><a href="">Ayuda</a> </li> <li>Salir </li> </ul> </nav> <section id="principal"> <div id="contenido"> <form name="formulario" class="formulario" method="post" action="../Controlador/ControllerRegistrartitular.php" class="col-xs-12 col-md-12"> <div class="col-xs-12 col-md-4"> <div class="form-group"> <label for="nombre">Cedula</label> <input type="text" class="form-control" name="ci" id="cedula" value= "<?php echo $ci ?>" disabled> <input type="hidden" name="txtcedu" value= "<?php echo $ci ?>"> </div> <div class="form-group"> <label for="nombre">Nombres</label> <input type="text" class="form-control" name="txtNombre" id="nombre" placeholder="Nombre" required autofocus> </div> <div class="form-group"> <label>Sexo</label><br> <label>F</label> <input type="radio" name="sexo"> <label>M</label><input type="radio" name="sexo"><br> </div> <div class="form-group"> <label for="exampleInputPassword1">Direccion </label>
  • 18. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <input type="text" class="form-control" name="txtdireccion" id="direccion" maxlength="100" placeholder="Dire" requccion ired> </div> <div class="form-group"> <button type="submit" name = "btn" class="btn btn-primary" value = "Grabar"> Registrar </button> <button type="button" name = "btninicio" class="btn btn-primary" value = "Inicio" onclick="location.href = '../Vista/menu.html'" > Volver </button> </div> </form> </div> </section> <footer id="piespag"> <p>Derechos Reservados &copy; 2018 Lissette Torrealba</p> </footer> </body> </html> ControllerRegistrartitular.php <?php require_once '../Modelo/clasetitular.php'; $objTitular = new Titular(); $ci= $_POST['txtcedu']; $nomb=$_POST['txtNombre']; $sexo=$_POST['sexo']; $dire=$_POST['txtdireccion']; $objTitular->setCedula($ci); $objTitular->setNombre($nomb); $objTitular->setSexo($sexo);
  • 19. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba $objTitular->setDireccion($dire); $resulRegistrar=$objTitular->Registrar(); if ($resulRegistrar['estatus']== true) { ////verificamos si se ejecutó correctamente el método del modelo $mensaje = 'Registro Exitoso del Titular'; }else {//si hay un error al registrar $mensaje = 'Error al registrar el Titular, contacte con el soporte';} require_once '../Vista/VistaMsj.php'; ?> Vista_Actualizar.php // recibe el registro de la tabla y permite la modificación o eliminación al llamar al controlleractualizar <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta nombre="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sitio Web BancOro</title> <link rel="stylesheet" href="../Vista/recursos/css/miestilos.css"> </head> <body> <header> <img src="../Vista/recursos/img/ahorro.jpg" alt="Logo" width="30%"> </header> <nav id="menu">
  • 20. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <ul> <li><a href="">Principal </a> </li> <li><a href="">Titular</a></li> <li><a href="">Cuentas</a></li> <li><a href="">Operaciones </a></li> <li><a href="">Reportes </a></li> <li><a href="">Ayuda</a> </li> <li>Salir </li> </ul> </nav> <section id="principal"> <div id="contenido"> <?php if (isset($consulta)) { if (!empty($consulta)) { $impr = ''; foreach ($consulta as $valor) { if (isset($valor['cedula'])) { $impr = ' <form action="../Controlador/ControllerActualizatitular.php" method="post" class="formulario"> <div class="form-group"> <label>Cedula</label><br> <input type="text" name="txtci" value="'.$valor['cedula'].'" /> </div> <div class="form-group">
  • 21. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba <label>Nombre</label><br> <input type="text" name="txtNombre" id="nombre" value="'.$valor['nombre'].'" placeholder="Introduzca su Nombre" required/> </div> <div class="form-group"> <label>Sexo</label><br> <input type="text" class="form-control" name="txtsexo" id="txtsexo" maxlength="100" value="'.$valor['sexo'].'" required><br> </div> <div class="form-group"> <label for="exampleInputPassword1">Direccion </label> <input type="text" class="form-control" name="txtdireccion" id="direccion" maxlength="100" value="'.$valor['direccion'].'" required> </div> <div class="form-group"> <button type="submit" name = "btn" class="btn btn-primary" value = "Modificar"> Modificar </button> <button type="submit" name = "btn" class="btn btn-primary" value = "Eliminar"> Eliminar </button> </div> </div> </form>'; } } printf($impr); } } ?> <button type="button" name = "btn" class="btn btn-primary" value = "Cancelar"
  • 22. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba onclick="location.href='../Vista/VistaMenu.php'"> Cancelar </button> </div> </section> <footer id="piespag"> <p>Derechos Reservados &copy; 2018 Lissette Torrealba</p> </footer> </body> </html> ControllerActualizatitular.php <?php require_once '../Modelo/clasetitular.php'; $objTitular = new Titular(); $ci= $_POST['txtci']; $btn = $_POST['btn']; echo $btn; if($btn == "Modificar"){ $nomb=$_POST['txtNombre']; $sexo=$_POST['txtsexo']; $dire=$_POST['txtdireccion']; $objTitular->setCedula($ci); $objTitular->setNombre($nomb); $objTitular->setSexo($sexo); $objTitular->setDireccion($dire); $resulRegistrar=$objTitular->Modificar(); if ($resulRegistrar['estatus']== true) { ////verificamos si se ejecutó correctamente el método del modelo $mensaje = 'Registro Exitoso Al Actualizar el Titular';
  • 23. Universidad Politécnica Territorial Andrés Eloy Blanco Programa Nacional de Formación en Informática Ing. Lissette Torrealba }else {//si hay un error al registrar $mensaje = 'Error al Actualizar el Titular, contacte con el soporte'; } require_once '../Vista/VistaMsj.php'; } else{ // se ejecuta el eliminar // código por terminar } ?> Referencias Bibliográficas Un sitio clave para quienes programamos en PHP orientado a objetos es PHPClasses: http://www.phpclasses.org Creación de Base de Datos en Postgres https://www.youtube.com/watch?v=_VO_HCK6v1M https://www.youtube.com/watch?v=Ia8U_im9-N4