Ir para conteúdo
Fórum Script Brasil

lucasrrsimoes

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por lucasrrsimoes

  1. E ai pessoal, tudo beleza?

    Sou novo no Fórum, e já tentei buscar na internet e neste fórum mas não consegui solucionar meu problema.

    Gostaria de ordenar os alunos por data de matricula, abaixo está meu código da classe AlunoDAO, tem um método "public function BuscarPessoaNome($Nome = "")" que gostaria que viesse ordenado por data de matrícula. Na classe aluno, tem esse método

     

     public function getDataMatricula() {
    
    	        return $this->DataMatricula;
    
    	    }
    
     

     

     

     

    Como que devo ordenar a lista que irá retornar no método por data de matricula, lembrando que atualmente grava apenas uma string, não está no formato de data;

     

    <?php
    namespace classes\dao;

    use classes\entidades\Aluno;

    class AlunoDAO {
        private $NomeSessao;
        private $arrAluno;
        
        public function __construct($NomeSessao) {
            $this->NomeSessao = $NomeSessao;
            if(isset($_SESSION[$this->NomeSessao]))
            {
                $this->arrAluno = $_SESSION[$this->NomeSessao];/*Se a sessão existir ele atribui ao array*/
            }
            else
            {
                $this->arrAluno = array();/*Se a sessão não existir ele cria o array*/
            }
        }
        
        public function __destruct()
        {
            $_SESSION[$this->NomeSessao] = $this->arrAluno;    
        }
        
        public function IncluirAluno(Aluno $objAluno)
        {
            $BuscaCodigoAluno = count($this->arrAluno) - 1;
            if($BuscaCodigoAluno < 0)//verifica se já tem algum código cadastrado
            {
                $Codigo = 1;
            }
            else
            {
                $Codigo = end($this->arrAluno);
                $Codigo = $Codigo->getCodigo() + 1;
            }
            $objAluno->setCodigo($Codigo);
            $this->arrAluno[] = $objAluno;
            return true;        
        }
        
        public function ExcluirAluno($codigo) {        
            foreach ($this->arrAluno as $objAluno)
            {
                if($objAluno->getCodigo() == $codigo)
                {
                    $elemento = array_search($objAluno, $this->arrAluno);
                    unset($this->arrAluno[$elemento]);
                }
            }
        }
        
        public function AlterarAluno(Aluno $Aluno) {
            foreach ($this->arrAluno as $objAluno)
            {
                if($objAluno->getCodigo() == $Aluno->getCodigo())
                {
                    $elemento = array_search($objAluno, $this->arrAluno);
                    $this->arrAluno[$elemento] = $Aluno;
                }
            }
        }
        
        public function cmp($a, $b) {
            if ($a->getDataMatricula() == $b->getDataMatricula())
            {
                return 0;
            }

            return (strtotime($a->getDataMatricula()) < strtotime($b->getDataMatricula())) ? -1 : 1;
        
        }
        
        public function BuscarPessoaNome($Nome = "")
        {
            if($Nome != "")
            {
                $arrAlunoFiltrado =  [];
                foreach ($this->arrAluno as $objAluno)
                {
                    if($objAluno->getNome() == $Nome)
                    {
                        array_push($arrAlunoFiltrado,$objAluno);
                    }
                }
                return ordernarArray($arrAlunoFiltrado);
            }
            else
            {
                //return usort($this->arrAluno, array($this, 'cmp'));
                    
                return $this->arrAluno;
            }
        }
        
        


        public  function ordenarArray($arrAlunoOrdenado)
        {
            
            
            
            $arrAlunosRetorno = array();
            for($i = 1; $i < count($arrAlunoOrdenado); $i++)
            {
                if($arrAlunoOrdenado[$i-1]->getDataMatricula() < $arrAlunoOrdenado[$i]->getDataMatricula())
                {
                    array_push($arrAlunosRetorno, $arrAlunoOrdenado[$i-1]);
                }
                else
                {
                    array_push($arrAlunosRetorno, $arrAlunoOrdenado[$i]);
                }
            }
            return $arrAlunosRetorno;
        }


        public function BuscarPessoaCodigo($Codigo = "")
        {
                foreach ($this->arrAluno as $objAluno)
                {
                    if($objAluno->getCodigo() == $Codigo)
                    {
                        return $objAluno;
                    }
                }
        }
    }

×
×
  • Criar Novo...