Jump to content


Photo

Problema De Retorno Em Classe


  • Faça o login para participar
2 replies to this topic

#1 neoSoro

neoSoro

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 03/06/2009, 10:42

Bom dia p.*,

to com um problema onde possuo uma classe que valida um dados e tem que retorna se true, ou false para realizar a gravação no banco de dados, o problema é que a classe não está retornando quando é um bool, por exemplo: eu fiz um POG que retorna um string "TRUE" se for true e "FALSE" se for false, mas achei isso meio gambiarra. Vou mostrar aqui as classes pra vcs darem uma olhada.

//Classe que valida
		function valida($oUnidade){
			$sql = "SELECT codMec FROM unidade WHERE codPesq = ".$oUnidade->getCodPesq();
			$this->oConexao->executaSQL($sql);
			$vetor = $this->oConexao->vetor();
			$teste  = "teste2";
			if($vetor){
				$vUni = array();
				while($vUni = array_shift($vetor)){
					$oUni = new unidade("","",$vUni[codMec],"","","","","","","","","","","","","","");
				}
			}
			return ($oUnidade->getCodMec() == $oUni->getCodMec())? print "true" : print "false";
		}

//Classe para onde retorna
					$validaCodMec = $this->oFachada->valida($oUnidade, "unidade");
					if($validaCodMec == true){
						$this->oJavaScript->mensagem('Bateu');
					}else{
						$this->oJavaScript->mensagem('Código MEC nao confere com a Base de Dados');
					}exit;
O mis engraçado é que apesar de eu passar como uma string quando eu vou validar valido como um bool normal. Será que loucura do PHP (mais certo de que minha).

[]'s Obrigado pela atenção.

#2 CMAC

CMAC

    Normal

  • Usuários
  • 93 posts
  • Sexo:Masculino

Posted 03/06/2009, 14:39

O correto é assim:
return ($oUnidade->getCodMec() == $oUni->getCodMec()) ? true : false;

E depois para verificar é:
if($this->oFachada->valida($oUnidade, "unidade"))
{
	$this->oJavaScript->mensagem('Bateu');
}
else
{
	$this->oJavaScript->mensagem('Código MEC nao confere com a Base de Dados');
}

exit;

Espero que funcione.

#3 neoSoro

neoSoro

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 04/06/2009, 08:34

O correto é assim:

return ($oUnidade->getCodMec() == $oUni->getCodMec()) ? true : false;

E depois para verificar é:
if($this->oFachada->valida($oUnidade, "unidade"))
{
	$this->oJavaScript->mensagem('Bateu');
}
else
{
	$this->oJavaScript->mensagem('Código MEC nao confere com a Base de Dados');
}

exit;

Espero que funcione.

Opa bom dia! Eu consegui resolver ontem mesmo. É que entre essas camadas há uma intermediária que envia os dados para a terceira camada. Pode dar o tópico como resolvido. Obrigado.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq