comunicación entre php y postgres
Publicado por Roberto Jimenez (1 intervención) el 17/09/2021 06:11:40
//// configuracion.php ////
<?php
function conexion() {
$conexion = pg_connect("host=localhost dbname=postgres user=postgres password=postgres");
return $conexion;
}
//// ////
//// index.php ////
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="https://code.jquery.com/jquery-1.8.3.js"></SCRIPT>
<script type="text/javascript">
function consultarEmpleados(){
console.log("consultarEmpleados");
$.ajax({
url: "consultar_empleados.php",
type: "POST",
success: function(response) {
document.getElementById("lista_empleados").innerHTML = response;
}
})
}
</script>
<html>
<head>
<title>Consultar Capacitaciones Empleados</title>
</head>
<body onLoad="consultarEmpleados()"></body>
<h2>Consultar Capacitaciones Empleados</h2>
<div id="lista_empleados"></div>
</body>
</html>
//// ////
//// consultar_empleados.php ////
<?php
include_once("configuracion.php");
$conexion = conexion();
$sql = "SELECT documento, (primer_nombre||' '||coalesce(segundo_nombre,'')||' '||primer_apellido||' '||coalesce(segundo_apellido,'')) AS nombre FROM empresa.empleado";
$resultado = pg_query($conexion, $sql);
echo '<table border="1" width="500">';
echo ' <tr>';
echo ' <th><b>Documento #</b></th>';
echo ' <th><b>Nombre</b></th>';
echo ' </tr>';
while ($row = pg_fetch_array($resultado)) {
error_log($row["documento"]);
error_log($row["nombre"]);
echo '<tr>';
echo ' <td align="right">';
echo ' <a href="consultar_capacitaciones.php?documento='.$row["documento"].'">'.$row["documento"].'</a>';
echo ' </td>';
echo ' <td>'.$row["nombre"].'</td>';
echo '</tr>';
}
echo '</table>';
//// ////
//// consultar_capacitaciones.php ////
<?php
include_once("configuracion.php");
$conexion = conexion();
$sql1 = "SELECT (primer_nombre||' '||coalesce(segundo_nombre,'')||' '||primer_apellido||' '||coalesce(segundo_apellido,'')) AS nombre
FROM empresa.empleado WHERE documento = $1 ";
$parametro = array($_REQUEST["documento"]);
$resultado1 = pg_query_params($conexion, $sql1, $parametro);
while ($row1 = pg_fetch_array($resultado1)) {
echo 'EMPLEADO : Documento: '.$_REQUEST["documento"].', Nombre: '.$row1["nombre"].'.';
}
$sql2 = "SELECT (e.primer_nombre||' '||coalesce(e.segundo_nombre,'')||' '||e.primer_apellido||' '||coalesce(e.segundo_apellido,'')) AS nombre,
c.fecha_capacitacion, c.hora_capacitacion, c.nombre_capacitacion
FROM empresa.asignacion_capacitacion ac
LEFT JOIN empresa.capacitacion c ON c.id_capacitacion = ac.id_capacitacion
LEFT JOIN empresa.empleado e ON e.documento = ac.documento
WHERE ac.documento = $1 AND c.fecha_capacitacion >= $2 ";
$parametros = array($_REQUEST["documento"], date("Y-m-d"));
$resultado2 = pg_query_params($conexion, $sql2, $parametros);
$filas = pg_num_rows($resultado2);
if ($filas > 0) {
echo '<br><br>';
echo '<table border="1" width="500">';
echo ' <tr><th colspan="3"><b>Capacitaciones Pendientes</b></th></tr>';
echo ' <tr>';
echo ' <th><b>Fecha</b></th>';
echo ' <th><b>Hora</b></th>';
echo ' <th><b>Tema</b></th>';
echo ' </tr>';
while ($row2 = pg_fetch_array($resultado2)) {
echo '<tr>';
echo ' <td align="center">'.$row2["fecha_capacitacion"].'</td>';
echo ' <td align="center">'.$row2["hora_capacitacion"].'</td>';
echo ' <td>'.$row2["nombre_capacitacion"].'</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo ' No tiene capacitaciones pendientes';
}
//// ////
CREATE TABLE empresa.empleado (
documento numeric(12) NOT NULL,
primer_nombre varchar NOT NULL,
segundo_nombre varchar NULL,
primer_apellido varchar NOT NULL,
segundo_apellido varchar NOT NULL,
cargo varchar NULL,
fecha_ingreso date NULL,
CONSTRAINT empleado_pk PRIMARY KEY (documento)
);
CREATE TABLE empresa.capacitacion (
id_capacitacion serial NOT NULL,
fecha_capacitacion date NULL,
hora_capacitacion time(0) NULL,
nombre_capacitacion varchar NULL,
CONSTRAINT capacitacion_pk PRIMARY KEY (id_capacitacion)
);
CREATE TABLE empresa.asignacion_capacitacion (
id_asignacion serial NOT NULL,
documento numeric(12) NOT NULL,
id_capacitacion int8 NULL,
CONSTRAINT asignacion_capacitacion_pk PRIMARY KEY (id_asignacion),
CONSTRAINT asignacion_capacitacion_fk FOREIGN KEY (documento) REFERENCES empresa.empleado(documento)
);
<?php
function conexion() {
$conexion = pg_connect("host=localhost dbname=postgres user=postgres password=postgres");
return $conexion;
}
//// ////
//// index.php ////
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript" SRC="https://code.jquery.com/jquery-1.8.3.js"></SCRIPT>
<script type="text/javascript">
function consultarEmpleados(){
console.log("consultarEmpleados");
$.ajax({
url: "consultar_empleados.php",
type: "POST",
success: function(response) {
document.getElementById("lista_empleados").innerHTML = response;
}
})
}
</script>
<html>
<head>
<title>Consultar Capacitaciones Empleados</title>
</head>
<body onLoad="consultarEmpleados()"></body>
<h2>Consultar Capacitaciones Empleados</h2>
<div id="lista_empleados"></div>
</body>
</html>
//// ////
//// consultar_empleados.php ////
<?php
include_once("configuracion.php");
$conexion = conexion();
$sql = "SELECT documento, (primer_nombre||' '||coalesce(segundo_nombre,'')||' '||primer_apellido||' '||coalesce(segundo_apellido,'')) AS nombre FROM empresa.empleado";
$resultado = pg_query($conexion, $sql);
echo '<table border="1" width="500">';
echo ' <tr>';
echo ' <th><b>Documento #</b></th>';
echo ' <th><b>Nombre</b></th>';
echo ' </tr>';
while ($row = pg_fetch_array($resultado)) {
error_log($row["documento"]);
error_log($row["nombre"]);
echo '<tr>';
echo ' <td align="right">';
echo ' <a href="consultar_capacitaciones.php?documento='.$row["documento"].'">'.$row["documento"].'</a>';
echo ' </td>';
echo ' <td>'.$row["nombre"].'</td>';
echo '</tr>';
}
echo '</table>';
//// ////
//// consultar_capacitaciones.php ////
<?php
include_once("configuracion.php");
$conexion = conexion();
$sql1 = "SELECT (primer_nombre||' '||coalesce(segundo_nombre,'')||' '||primer_apellido||' '||coalesce(segundo_apellido,'')) AS nombre
FROM empresa.empleado WHERE documento = $1 ";
$parametro = array($_REQUEST["documento"]);
$resultado1 = pg_query_params($conexion, $sql1, $parametro);
while ($row1 = pg_fetch_array($resultado1)) {
echo 'EMPLEADO : Documento: '.$_REQUEST["documento"].', Nombre: '.$row1["nombre"].'.';
}
$sql2 = "SELECT (e.primer_nombre||' '||coalesce(e.segundo_nombre,'')||' '||e.primer_apellido||' '||coalesce(e.segundo_apellido,'')) AS nombre,
c.fecha_capacitacion, c.hora_capacitacion, c.nombre_capacitacion
FROM empresa.asignacion_capacitacion ac
LEFT JOIN empresa.capacitacion c ON c.id_capacitacion = ac.id_capacitacion
LEFT JOIN empresa.empleado e ON e.documento = ac.documento
WHERE ac.documento = $1 AND c.fecha_capacitacion >= $2 ";
$parametros = array($_REQUEST["documento"], date("Y-m-d"));
$resultado2 = pg_query_params($conexion, $sql2, $parametros);
$filas = pg_num_rows($resultado2);
if ($filas > 0) {
echo '<br><br>';
echo '<table border="1" width="500">';
echo ' <tr><th colspan="3"><b>Capacitaciones Pendientes</b></th></tr>';
echo ' <tr>';
echo ' <th><b>Fecha</b></th>';
echo ' <th><b>Hora</b></th>';
echo ' <th><b>Tema</b></th>';
echo ' </tr>';
while ($row2 = pg_fetch_array($resultado2)) {
echo '<tr>';
echo ' <td align="center">'.$row2["fecha_capacitacion"].'</td>';
echo ' <td align="center">'.$row2["hora_capacitacion"].'</td>';
echo ' <td>'.$row2["nombre_capacitacion"].'</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo ' No tiene capacitaciones pendientes';
}
//// ////
CREATE TABLE empresa.empleado (
documento numeric(12) NOT NULL,
primer_nombre varchar NOT NULL,
segundo_nombre varchar NULL,
primer_apellido varchar NOT NULL,
segundo_apellido varchar NOT NULL,
cargo varchar NULL,
fecha_ingreso date NULL,
CONSTRAINT empleado_pk PRIMARY KEY (documento)
);
CREATE TABLE empresa.capacitacion (
id_capacitacion serial NOT NULL,
fecha_capacitacion date NULL,
hora_capacitacion time(0) NULL,
nombre_capacitacion varchar NULL,
CONSTRAINT capacitacion_pk PRIMARY KEY (id_capacitacion)
);
CREATE TABLE empresa.asignacion_capacitacion (
id_asignacion serial NOT NULL,
documento numeric(12) NOT NULL,
id_capacitacion int8 NULL,
CONSTRAINT asignacion_capacitacion_pk PRIMARY KEY (id_asignacion),
CONSTRAINT asignacion_capacitacion_fk FOREIGN KEY (documento) REFERENCES empresa.empleado(documento)
);
Valora esta pregunta


0