Funcionalidad de crear Sala.

Crear ClaseEquipoxPartida.php
Modificar controladorPartida.php
This commit is contained in:
2026-09-25 14:11:29 +02:00
7 changed files with 1010 additions and 568 deletions
+38 -33
View File
@@ -2,38 +2,45 @@
require_once __DIR__ . '/../includes/conexionBD.php';
class Equipo{
class Equipo
{
public $idEquipo;
public $nombreEquipo;
function __construct($idEquipo=null, $nombreEquipo=null){
function __construct($idEquipo = null, $nombreEquipo = null)
{
$this->idEquipo = $idEquipo;
$this->nombreEquipo = $nombreEquipo;
}
function crear(){
function crear()
{
$conexion = conexionBD();
if(is_array($conexion)){
if (is_array($conexion)) {
return $conexion;
}else{
try{
$consulta = $conexion->prepare("INSERT INTO equipo (nombreEquipo) VALUES (:nombreEquipo)");
} else {
try {
$consulta = $conexion->prepare(
"INSERT INTO equipo (nombreEquipo) VALUES (:nombreEquipo)"
);
$consulta->bindParam(':nombreEquipo', $this->nombreEquipo);
$consulta->execute();
// Guardamos el ID generado por la BD
$this->idEquipo = (int)$conexion->lastInsertId();
$respuesta = [
'exito' => 'Equipo creado correctamente',
'exito_tecnico' => $this->nombreEquipo
'exito_tecnico' => $this->idEquipo
];
return $respuesta;
}catch(PDOException $error){
} catch (PDOException $error) {
$respuesta = [
'error' => 'Ocurrió un error al guardar el equipo.',
'error_tecnico' => $error->getMessage()
@@ -46,13 +53,15 @@ class Equipo{
}
function listar(){
function listar()
{
$conexion = conexionBD();
if(is_array($conexion)){
if (is_array($conexion)) {
return $conexion;
}else{
try{
} else {
try {
$sql = 'SELECT * FROM equipo';
$consulta = $conexion->prepare($sql);
@@ -61,8 +70,7 @@ class Equipo{
$resultado = $consulta->fetchAll(PDO::FETCH_ASSOC);
return $resultado;
}catch(PDOException $error){
} catch (PDOException $error) {
$respuesta = [
'error' => 'Ocurrió un error al obtener el listado de equipos.',
'error_tecnico' => $error->getMessage()
@@ -75,13 +83,14 @@ class Equipo{
}
function buscar(){
function buscar()
{
$conexion = conexionBD();
if(is_array($conexion)){
if (is_array($conexion)) {
return $conexion;
}else{
try{
} else {
try {
$consulta = $conexion->prepare("SELECT * FROM equipo WHERE idEquipo = :idEquipo");
$consulta->bindParam(':idEquipo', $this->idEquipo);
@@ -91,8 +100,7 @@ class Equipo{
$resultado = $consulta->fetch(PDO::FETCH_ASSOC);
return $resultado;
}catch(PDOException $error){
} catch (PDOException $error) {
$respuesta = [
'error' => 'Ocurrió un error al buscar el equipo.',
'error_tecnico' => $error->getMessage()
@@ -105,25 +113,26 @@ class Equipo{
}
function borrar(){
function borrar()
{
$conexion = conexionBD();
if(is_array($conexion)){
if (is_array($conexion)) {
return $conexion;
}else{
try{
} else {
try {
$consulta = $conexion->prepare("DELETE FROM equipo WHERE idEquipo = :idEquipo");
$consulta->bindParam(':idEquipo', $this->idEquipo);
$consulta->execute();
if($consulta->rowCount() > 0){
if ($consulta->rowCount() > 0) {
$respuesta = [
'exito' => 'Se eliminó correctamente el equipo',
'exito_tecnico' => $this->idEquipo
];
}else{
} else {
$respuesta = [
'error' => 'No existe ningún equipo con ese ID.',
'error_tecnico' => $this->idEquipo
@@ -131,8 +140,7 @@ class Equipo{
}
return $respuesta;
}catch(PDOException $error){
} catch (PDOException $error) {
$respuesta = [
'error' => 'Ocurrió un error al eliminar el equipo.',
'error_tecnico' => $error
@@ -143,7 +151,4 @@ class Equipo{
}
}
}
}
?>
+60
View File
@@ -0,0 +1,60 @@
<?php
require_once __DIR__ . '/../includes/conexionBD.php';
class EquipoxPartida
{
public $idEquipoxPartida;
public $idEquipo;
public $idPartida;
public function __construct(
$idEquipoxPartida = null,
$idEquipo = null,
$idPartida = null
) {
$this->idEquipoxPartida = $idEquipoxPartida;
$this->idEquipo = $idEquipo;
$this->idPartida = $idPartida;
}
public function insertar()
{
$conexion = conexionBD();
if (is_array($conexion)) {
return $conexion;
}
try {
$sql = "
INSERT INTO equipoxpartida
(idEquipo, idPartida)
VALUES
(:idEquipo, :idPartida)
";
$consulta = $conexion->prepare($sql);
$consulta->bindParam(':idEquipo', $this->idEquipo);
$consulta->bindParam(':idPartida', $this->idPartida);
$consulta->execute();
$this->idEquipoxPartida = (int)$conexion->lastInsertId();
return [
'exito' => 'Equipo vinculado a la partida correctamente.',
'exito_tecnico' => $this->idEquipoxPartida
];
} catch (PDOException $error) {
return [
'error' => 'Ocurrió un error al vincular el equipo con la partida.',
'error_tecnico' => $error->getMessage()
];
}
}
}
+66 -4
View File
@@ -2,18 +2,21 @@
require_once __DIR__ . '/../includes/conexionBD.php';
class EquipoxUsuario {
class EquipoxUsuario
{
public $idEquipoxUsuario;
public $idUsuario;
public $idEquipo;
public function __construct($idEquipoxUsuario = null, $idUsuario = null, $idEquipo = null) {
public function __construct($idEquipoxUsuario = null, $idUsuario = null, $idEquipo = null)
{
$this->idEquipoxUsuario = $idEquipoxUsuario;
$this->idUsuario = $idUsuario;
$this->idEquipo = $idEquipo;
}
public function registrarUsuarioEnEquipo() {
public function registrarUsuarioEnEquipo()
{
$conexion = conexionBD();
if (is_array($conexion)) return $conexion;
@@ -36,7 +39,8 @@ class EquipoxUsuario {
}
}
public static function listarUsuariosPorEquipo($idEquipo) {
public static function listarUsuariosPorEquipo($idEquipo)
{
$conexion = conexionBD();
if (is_array($conexion)) return $conexion;
@@ -56,4 +60,62 @@ class EquipoxUsuario {
];
}
}
public function obtenerSalaUsuario($idUsuario)
{
$conexion = conexionBD();
if (is_array($conexion)) {
return $conexion;
}
try {
$sql = "
SELECT
exu.idEquipo,
exp.idPartida
FROM equipoxusuario exu
INNER JOIN equipoxpartida exp
ON exu.idEquipo = exp.idEquipo
WHERE exu.idUsuario = :idUsuario
LIMIT 1
";
$consulta = $conexion->prepare($sql);
$consulta->bindParam(
':idUsuario',
$idUsuario,
PDO::PARAM_INT
);
$consulta->execute();
$resultado = $consulta->fetch(PDO::FETCH_ASSOC);
if (!$resultado) {
return [
'asociado' => false
];
}
return [
'asociado' => true,
'idEquipo' => $resultado['idEquipo'],
'idPartida' => $resultado['idPartida']
];
} catch (PDOException $error) {
return [
'error' => 'Ocurrió un error al obtener la sala del usuario.',
'error_tecnico' => $error->getMessage()
];
}
}
}