documentoBase-1
<?php
require_once "../cabesa.php";
?>
<?php
class Conexion
{
static public function conectar()
{
return new PDO("mysql:host=localhost;dbname=despacho;charset=utf8", "root", "Juzgado-01");
}
}
?>
<?php
class DocumentosModel extends Conexion
{
static public function obtenerDocumentos()
{
$stmt = Conexion::conectar()->prepare("SELECT * FROM documentos");
$stmt->execute();
return $stmt->fetchAll();
}
static public function crearDocumento($datos)
{
$stmt = Conexion::conectar()->prepare("INSERT INTO documentos (caso_id, tipo_documento, descripcion, fecha, archivo) VALUES (:caso_id, :tipo_documento, :descripcion, :fecha, :archivo)");
$stmt->bindParam(":caso_id", $datos['caso_id'], PDO::PARAM_INT);
$stmt->bindParam(":tipo_documento", $datos['tipo_documento'], PDO::PARAM_STR);
$stmt->bindParam(":descripcion", $datos['descripcion'], PDO::PARAM_STR);
$stmt->bindParam(":fecha", $datos['fecha'], PDO::PARAM_STR);
$stmt->bindParam(":archivo", $datos['archivo'], PDO::PARAM_STR);
if ($stmt->execute()) {
return "success";
} else {
return "error";
}
}
static public function actualizarDocumento($datos)
{
$stmt = Conexion::conectar()->prepare("UPDATE documentos SET caso_id = :caso_id, tipo_documento = :tipo_documento, descripcion = :descripcion, fecha = :fecha, archivo = :archivo WHERE id = :id");
$stmt->bindParam(":id", $datos['id'], PDO::PARAM_INT);
$stmt->bindParam(":caso_id", $datos['caso_id'], PDO::PARAM_INT);
$stmt->bindParam(":tipo_documento", $datos['tipo_documento'], PDO::PARAM_STR);
$stmt->bindParam(":descripcion", $datos['descripcion'], PDO::PARAM_STR);
$stmt->bindParam(":fecha", $datos['fecha'], PDO::PARAM_STR);
$stmt->bindParam(":archivo", $datos['archivo'], PDO::PARAM_STR);
if ($stmt->execute()) {
return "success";
} else {
return "error";
}
}
static public function eliminarDocumento($id)
{
$stmt = Conexion::conectar()->prepare("DELETE FROM documentos WHERE id = :id");
$stmt->bindParam(":id", $id, PDO::PARAM_INT);
if ($stmt->execute()) {
return "success";
} else {
return "error";
}
}
}
?>
<?php
// Manejo de solicitudes POST para CRUD
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
switch ($_POST['action']) {
case 'crear':
$datos = [
"caso_id" => $_POST["caso_id"],
"tipo_documento" => $_POST["tipo_documento"],
"descripcion" => $_POST["descripcion"],
"fecha" => $_POST["fecha"],
"archivo" => $_POST["archivo"]
];
$resultado=DocumentosModel::crearDocumento($datos);
if ($resultado === true) {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location = "agenda/documentoBase.php";
</script>';
} else {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location.reload();
</script>';
}
break;
case 'actualizar':
$datos = [
"id" => $_POST["id"],
"caso_id" => $_POST["caso_id"],
"tipo_documento" => $_POST["tipo_documento"],
"descripcion" => $_POST["descripcion"],
"fecha" => $_POST["fecha"],
"archivo" => $_POST["archivo"]
];
$resultado = DocumentosModel::actualizarDocumento($datos);
if ($resultado === true) {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location = "agenda/documentoBase.php";
</script>';
} else {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location.reload();
</script>';
}
break;
case 'eliminar':
$resultado = DocumentosModel::eliminarDocumento($_POST['id']);
if ($resultado === true) {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location = "agenda/documentoBase.php";
</script>';
} else {
echo '<script>
if (window.history.replaceState) {
window.history.replaceState(null, null, window.location.href);
}
window.location.reload();
</script>';
}
break;
}
}
// Obtener todos los documentos
$documentos = DocumentosModel::obtenerDocumentos();
?>
<div class="container mt-5">
<h3>Gestión de Documentos</h3>
<button class="btn btn-success mb-3" data-bs-toggle="modal" data-bs-target="#crearModal">Crear Documento</button>
<table class="table">
<thead class="table-dark">
<tr>
<th>ID</th>
<th>Caso ID</th>
<th>Tipo de Documento</th>
<th>Descripción</th>
<th>Fecha</th>
<th>Archivo</th>
<th>Acciones</th>
</tr>
</thead>
<tbody>
<?php foreach ($documentos as $documento) { ?>
<tr>
<td><?php echo $documento['id']; ?></td>
<td><?php echo $documento['caso_id']; ?></td>
<td><?php echo $documento['tipo_documento']; ?></td>
<td><?php echo $documento['descripcion']; ?></td>
<td><?php echo $documento [ 'fecha' ]; ? ></td>
<td><?php echo $documento [ 'archivo' ]; ? ></td>
<td>
< método de formulario = "publicar" estilo = " mostrar: bloque en línea;" >
< tipo de entrada = "oculto" nombre = "acción" valor = "eliminar" >
< tipo de entrada = "oculto" nombre = "id" valor = " <?php echo $documento [ 'id' ]; ? > " >
<button type = "submit" class = "btn btn-danger" > Eliminar </button>
</formulario>
</td>
</tr>
<?php } ? >
</cuerpo>
</tabla>
</div>
<!-- Modal Crear -->
<div class = "desvanecimiento modal" id = "crearModal" tabindex = "-1" aria-labelledby = "crearModalLabel" aria-hidden = "true" >
<div class = "diálogo-modal modal-lg" >
<div class = "contenido-modal" >
<div class = "encabezado-modal" >
<h5 class = "modal-title" id = "crearModalLabel" > Crear documento </h5>
<botón tipo = "botón" clase = "btn-close" datos-bs-dismiss = "modal" aria-label = "Cerrar" ></botón>
</div>
<div clase = "cuerpo-modal" >
< método de formulario = "publicar" >
< tipo de entrada = "oculto" nombre = "acción" valor = "crear" >
<div class = "fila" >
<div clase = "col-6mb-3" >
<label for = "caso_id" class = "form-label" > Identificación del caso </label>
< tipo de entrada = "texto" clase = "control de formulario" id = "caso_id" nombre = "caso_id" requerido >
</div>
<div clase = "col-6mb-3" >
<label for = "tipo_documento" class = "form-label" > Tipo de Documento </label>
<select clase = "form-control" id = "tipo_documento" nombre = "tipo_documento" requerido >
<option value = "Demanda" > Demanda </option>
<option value = "Prueba" > Prueba </option>
<option value = "Sentencia" > Sentencia </option>
<option value = "Notificación" > Notificación </option>
<option value = "Otro" > Otro </option>
</seleccionar>
</div>
<div clase = "col-12mb-3" >
<label for = "descripcion" class = "form-label" > Descripción </label>
<textarea clase = "form-control" id = "descripcion" nombre = "descripcion" ></textarea>
</div>
<div clase = "col-6mb-3" >
<label for = "fecha" class = "form-label" > Fecha </label>
< tipo de entrada = "fecha" clase = "form-control" id = "fecha" nombre = "fecha" requerido >
</div>
<div clase = "col-6mb-3" >
<label for = "archivo" class = "form-label" > Archivo </label>
< tipo de entrada = "texto" clase = "form-control" id = "archivo" nombre = "archivo" >
</div>
</div>
<button type = "button" class = "btn btn-secondary" data-bs-dismiss = "modal" > Cerrar </button>
<button type = "submit" class = "btn btn-success" > Crear </button>
</formulario>
</div>
</div>
</div>
</div>
<?php
require_once "../pie.php" ;
? >
Comentarios
Publicar un comentario