Código MySQL:
Ver original
); ); );
Como veran hay una relacion entre oficina y oficinaequipo y los equipos, es decir se busca gestionar las oficinas y sus equipos.
Para el script oficinaequipo me piden que contenga obviamente algunos atributos privados, pero asi tambien un objeto equipo con el getter y el setter que debe recibir un equipo como parametro.
Lo que hice para las oficinas fue:
Código PHP:
La funcion getOficinaEquipo debe contener un array, el ejercicio diceVer original
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/includes/php/BaseDeDatos.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/oficina/includes/OficinaEquipo.php'; class oficina{ private $_idoficina; private $_nombre; public function getIdoficina(){ return $this->_idoficina; } public function getNombre(){ return $this->_nombre; } public function getOficinaEquipo(){ $id=$this->_idoficina; $SQL="select * from oficinaequipo where idoficinaequipo='$id'"; $objetoOficinaEquipo=new oficinaequipo(); $objetoOficinaEquipo->setEquipo($row->equipo); $objetoOficinaEquipo->setIdOficina($row->idoficina); $objetoOficinaEquipo->setIdOficinaequipo($row->idoficinaequipo); $OficinaEquipo[]=$objetoOficinaEquipo; } return $OficinaEquipo; } public function setIdoficina($idoficina){ $this->_idoficina=$idoficina; } public function setNombre($nombre){ $this->_nombre=$nombre; } public function __construct($idoficina,$nombre){ $this->_idoficina=$idoficina; $this->_nombre=$nombre; } public function insertar(){ $bd=new BaseDeDatos(); $this->_idoficina=$bd->getUltimoIdInsertadio($SQL); $SQL="insert into oficina (idoficina, nombre) values"; $SQL.="('$this->_idoficina','$this->_nombre')"; } public function modificar(){ $bd=new BaseDeDatos(); $id=$this->getIdoficina(); $SQL="update oficina set nombre='".$_POST['nombre']."where idoficina='$id'"; } public function eliminar(){ $bd=new BaseDeDatos(); $id=$this->getIdoficina(); $SQL="delete from oficina where idoficina='$id'"; } public function buscar($idoficina){ $bd=new BaseDeDatos(); $id=$this->getIdoficina(); $SQL="select * from oficina where idoficina='$id'"; $this->setIdoficina($row->idoficina); $this->setNombre($row->nombre); } public function getAll(){ $SQL="select * from oficina"; $bd=new BaseDeDatos(); if(!$result) { } // Buscamos todas las filas afectadas (Todos los empleados encotnrados) { $nombre=$row->nombre; $idoficina=$row->idoficina; $o=new oficina($idoficina,$nombre); $o->setNombre($row->nombre); $o->setIdoficina($row->idoficina); // Por cada empleado (fila) agregaremos datos al array que devolveremos $aItems[] = $o; } // Devolvemos el array return $aItems; } public function getCantidadEquipos(){ $id=$this->getIdoficina(); $SQL="select distinct (idequipo) from oficinaequipo where idoficina='$id'"; return $n; } } ?>
La clase debe contener los atributos privados para el id de la oficina, nombre y uno el cual debe contener un array de objeto del tipo OficinaEquipo, los métodos getter y setter para id de oficina y nombre, y solo el método getter para el atributo que contiene el array de objetos del tipo OficinaEquipo.
ES correcto lo que hago en el getter de oficinaequipo?
Para oficinaequipo, en cambio tengo que tener un objeto como atributo, el ejercicio decia: La clase debe contener los atributos privados para el id de la relación entreoficina y equipo, el id de la oficina y uno el cual debe contener un objeto del tipo Equipo, y los métodos getter y setter para cada uno de los atributos, el método setter para equipodebe recibir un objeto del tipo Equipo como
parámetro., entonces hice:
Código PHP:
Ver original
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/sge/equipo/includes/Equipo.php'; class oficinaequipo{ private $_idoficinaequipo; private $_idOficina; private $_equipo; public function getIdOficinaqeuipo(){ return $this->_idoficinaequipo; } public function getIdOficina(){ return $this->_idOficina; } public function getEquipo(){ return $this->_equipo; } public function setIdOficinaequipo($idoficinaequipo){ $this->_idoficinaequipo=$idoficinaequipo; } public function setIdOficina($idOficina){ $this->_oficinaequipo=$idOficina; } public function setEquipo(equipo $equipo){ $this->_equipo=$equipo; } public function __construct($idoficinaequipo,$idOficina,$equipo){ $this->_idoficinaequipo=$idoficinaequipo; $this->_idOficina=$idOficina; $this->_equipo=$equipo; } public function insertar(){ $bd=new BaseDeDatos(); $this->_idoficinaequipo=$bd->getUltimoIdInsertadio(); $SQL="insert into oficinaequipo (idoficinaequipo,idoficina,idequipo) values"; $SQL.="('$this->_idoficinaequipo','$this->_idoficina','$this->_idequipo')"; } public function getAll(){ $SQL="select * from oficinaequipo"; $bd=new BaseDeDatos(); $SQL2="select * from equipo join oficinaequipo where equipo.idempleado=oficinaequipo.idempleado"; // Buscamos todas las filas afectadas (Todos los empleados encotnrados) if(!$result) { } // Buscamos todas las filas afectadas (Todos los empleados encotnrados) { $this->_idoficinaequipo=$row->idoficinaequipo; $this->_idOficina=$row->idOficina; $e=new equipo(); $e->setIdEquipo($row2->idequipo); // $e->setEmpleado($row2->idempleado); $e->setDescripcion($row2->descripcion); $e->setDirip($row2->ip); $e->setDirmac($row2->mac); // Por cada empleado (fila) agregaremos datos al array que devolveremos $aItems[] = $e; } // Devolvemos el array return $aItems; } } ?>
Osea me gustaria me den su opinion y me digan como construir un objeto, que tenga una instancia de otro, y como cargar en un array atributos y objetos.
Muchas gracias