Obtén Datos de una Base de Datos
¡Hola a todos los entusiastas de la programación! 🚀 Hoy, quiero compartir contigo un emocionante paso hacia el mundo del desarrollo web: obtener datos de una base de datos mediante un sencillo ejercicio. Si alguna vez te has preguntado cómo interactúan las aplicaciones web con la información almacenada, ¡este es el momento perfecto para explorarlo!
Paso 1: Definición de Clases y Métodos en PHP
En nuestro viaje hacia la obtención de datos, comenzamos definiendo las clases y métodos necesarios en PHP. Utilizamos la potente extensión PDO para establecer una conexión segura con la base de datos MySQL.
public function obtenerDatos($id)
{
try {
// Aquí puedes realizar operaciones para obtener datos si es necesario
$stmt = Conexion::conectar()->prepare("SELECT * FROM carpetas WHERE id=:id");
$stmt->bindParam(":id", $id, PDO::PARAM_STR);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($result) {
http_response_code(200);
echo json_encode(array("status" => "success", "result" => $result));
} else {
http_response_code(404);
echo json_encode(array("status" => "error", "message" => "Registro no encontrado"));
}
// En este ejemplo, simplemente enviaremos un mensaje de éxito
//echo json_encode(array("status" => "success", "message" => "Datos obtenidos exitosamente"));
} catch (PDOException $e) {
http_response_code(500);
echo json_encode(array("status" => "error", "message" => $e->getMessage()));
}
}
if (isset($_POST['carpeta'])) {
$carpeta = $_POST['carpeta'];
if ($carpeta === '') {
echo json_encode(['mensaje' => 'Llena todos los campos']);
} else {
$carpetaModel = new CarpetaModel();
$carpetaModel->guardarDatos($_POST['carpeta'], $_POST['id']);
}
} else {
$carpetaModel = new CarpetaModel();
$id=$_GET['id'];
$carpetaModel->obtenerDatos($id);
}
Paso 2: Obtener Datos del Servidor
En el lado del cliente, ya hemos capturado datos anteriormente.
Ahora, nos enfocamos en el paso crucial de obtener información desde la base de datos. Mediante una simple solicitud al servidor PHP, empleamos JavaScript y la función fetch para traer los datos almacenados.
cargarDatos();
function cargarDatos() {
let id="17";
fetch(`http://localhost/MVC-SITE-v5/EJERCICIOS-COMPONENTES/1-carpeta.php?id=${id}`)
.then(response => response.json())
.then(data => {
console.log(data.result);
console.log(data.result.carpeta);
const carpetaInput = document.getElementById('carpeta');
// Verificar si el campo carpeta no es nulo y no es 'null'
if (data.result.carpeta !== null && data.result.carpeta !== 'null' && data.result.carpeta !== '') {
carpetaInput.value = data.result.carpeta;
// Deshabilitar el botón después de guardar los datos
document.getElementById('guardarBtn').disabled = true;
// Deshabilitar el campo de entrada después de guardar los datos
document.getElementById('carpeta').disabled = true;
}else {
// Limpiar el campo de entrada si no hay resultados
carpetaInput.value = '';
// Dejar el botón habilitado si no hay resultados
document.getElementById('guardarBtn').disabled = false;
// Cambiar el color del botón a verde si no hay resultados
document.getElementById('guardarBtn').classList.add('btn-success');
}
})
.catch(error => {
console.error('Error:', error);
});
}
Paso 3: Explorando los Datos
Con los datos en nuestras manos, abrimos la puerta a un mundo de posibilidades. Puedes explorar y manipular la información obtenida según las necesidades de tu aplicación. ¡La magia de la programación comienza a tomar forma!
¿Qué Sigue Después?
En los siguientes capítulos, daremos pasos más ambiciosos. Exploraremos cómo mejorar la interacción con la base de datos, realizar actualizaciones dinámicas y crear experiencias aún más cautivadoras.Este proceso de obtener datos es solo el principio. Únete a nuestra comunidad para seguir aprendiendo y comparte tus descubrimientos y desafíos con nosotros. Además, prepárate, ¡porque pronto lanzaremos un curso exclusivo para aquellos que buscan llevar sus habilidades al siguiente nivel!
#Programación #DesarrolloWeb #PHP #BaseDeDatos #Aprendizaje
¡Espero que esta versión sea más acorde a tu enfoque actual! ¡Adapta y personaliza según tus necesidades y estilo!
Comentarios
Publicar un comentario