PHP - comunicación entre php y postgres

 
Vista:

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)
);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

comunicación entre php y postgres

Publicado por Mauro (1037 intervenciones) el 07/10/2021 13:39:33
Hola Roberto!

¿Qué problema estás experimentando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar