iceoz
(usa Debian)
Enviado em 30/04/2010 - 09:55h
#oi eu to desenvolvendo um sistema de gerencia de projetos todo orientado a objetos.
#so que preciso de uma ajuda. vo por um exemplo simples ai do que eu tenho e oque eu queria fazer.
Class Projeto
{
private $id = null;
private $nome = null;
private $datainicio = null;
private $datafim = null;
private $tarefas = null; //Array de objetos do tipo Tarefa
public function getId(){ return $id; }
public function setId($id){ $this->id = $id; }
public function getNome(){ return $nome; }
public function setNome($nome){ $this->nome = $nome; }
public function getDatainicio(){ return $datainicio; }
public function setDatainicio($datainicio){ $this->datainicio = $datainicio; }
public function getDatafim(){ return $datafim; }
public function setDatafim($datafim){ $this->datafim = $datafim; }
public function getTarefas(){ return $tarefas; }
public function addTarefas($idTarefa, $tarefa){ $this->tarefas[$idTarefa] = $tarefa; }
public function removeTarefas($idTarefa){ $this->tarefas[$idTarefa] = null; }
public __contruct(){}
}
class Tarefa
{
private $id = null;
private $idprojeto = null;
private $nome = null;
private $datainicio = null;
private $datafim = null;
public function getId(){ return $id; }
public function setId($id){ $this->id = $id; }
public function getIdprojeto(){ return $idprojeto; }
public function setIdprojeto($idprojeto){ $this->idprojeto = $idprojeto; }
public function getNome(){ return $nome; }
public function setNome($nome){ $this->nome = $nome; }
public function getDatainicio(){ return $datainicio; }
public function setDatainicio($datainicio){ $this->datainicio = $datainicio; }
public function getDatafim(){ return $datafim; }
public function setDatafim($datafim){ $this->datafim = $datafim; }
}
#blz duas classes bem simples.
#
#dai vo faze meu select lah e pega todos os projetos e monta um array e então selecionar todas as tarefas e #separalas por projeto. por exemplo:
$idsProjetos = "-1";
$projetos = Array(); # aqui vou guardar meus projetos
$sql = mysql_query('select * from projetos');
while($res = mysql_fetch_assoc($sql))
{
$projeto = new Projeto();
$projeto->setId($res['id']);
$projeto->setNome($res['nome']);
$projeto->setDatainicio($res['datainicio']);
$projeto->setDatafim($res['datafim']);
$projetos[$projeto->getId()] = $projeto;
$idsProjetos .= ','.$projeto->getId();
}
#até acho que ta beleza o meu problema vem agora
$sql = mysql_query('select * from tarefas where idprojeto in ('.$idsProjetos.')');
while($res = mysql_fetch_assoc($sql))
{
$tarefa = new Tarefa();
$tarefa->setId($res['id']);
$tarefa->setIdprojeto($res['idprojeto']);
$tarefa->setNome($res['nome']);
$tarefa->setDatainicio($res['datainicio']);
$tarefa->setDatafim($res['datafim']);
# agora vem meu problema como eu faço algo assim? desse jeito não funciona.
# mais acho que da pra entender oque eu quero fazer.
((Projeto)$projetos[$tarefa->getIdprojeto()])->addTarefa($tarefa->getId(), $tarefa);
# isso que eu não to conseguindo fazer, se eu consegui fazer isso ai resolvo todos os meus problema. ajuda ai =)
}