Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Formaciones
/
Modelos
:
CursoModelo.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php // Modelos/CursoModelo.php class CursoModelo { private $db; public function __construct($db) { $this->db = $db; } public function listarTodos() { return $this->db->query("SELECT * FROM courses ORDER BY created_at DESC"); } public function crearCompleto($d) { $stmt = $this->db->prepare("INSERT INTO courses (title, description, duracion, limite_at, status, created_at) VALUES (?, ?, ?, ?, ?, NOW())"); $stmt->bind_param("ssiss", $d['title'], $d['description'], $d['duracion'], $d['limite_at'], $d['status']); return $stmt->execute(); } public function actualizarCompleto($id, $d) { $stmt = $this->db->prepare("UPDATE courses SET title = ?, description = ?, duracion = ?, limite_at = ?, status = ? WHERE id = ?"); $stmt->bind_param("ssissi", $d['title'], $d['description'], $d['duracion'], $d['limite_at'], $d['status'], $id); return $stmt->execute(); } public function eliminar($id) { $stmt = $this->db->prepare("DELETE FROM courses WHERE id = ?"); $stmt->bind_param("i", $id); return $stmt->execute(); } /** Contar el total de cursos para calcular las páginas */ public function contarTotal() { $sql = "SELECT COUNT(*) as total FROM courses"; $resultado = $this->db->query($sql); $fila = $resultado->fetch_assoc(); return $fila['total']; } /** Listar cursos con límite de registros (Paginación) */ public function listarPaginado($inicio, $cantidad) { $stmt = $this->db->prepare("SELECT * FROM courses ORDER BY created_at DESC LIMIT ?, ?"); $stmt->bind_param("ii", $inicio, $cantidad); $stmt->execute(); return $stmt->get_result(); } }