Problema campo data no Componente

Dúvidas relativas a Joomla! 1.0.x
belini
Novato
Mensagens: 10
Registrado em: 22 Jul 2008, 09:28

Problema campo data no Componente

Mensagem por belini »

Esta é pro bigodines, autor do turotial de desvolvimento de componentes.
Seguinte, estou desenvolvendo um componente para um formulário que escreve numa tabela do MySQL.
Como base estou usando o Tutorial de desenvolvimento de componentes aqui do Joomla.com, mas estou com dificuldades no campo tipo data.
Meu formulário tem dois, um que o usuário digita e outro que o sistema gera registrando a data de criação, mas no banco sempre fica 0000-00-00 00:00:00.
Não sei o que o Bind tá fazendo par esquecer meus campos, sendo que são passados junto com o form, um em aberto e outro com hidden.
Minha classe extendida do banco é assim:

Código: Selecionar todos

//Classe que extende mosDBTable do Joomla
class mosRecursosInf extends mosDBTable {
 var $id = null;
 var $sNome = null;
 var $sCponto = null;
 var $sArea = null;
 var $sCcusto = null;
 var $sRespSolicit = null; 
 var $rdb_Equip	 = null;
 var $sPolegadas = null;
 var $sEquipOutro = null;
 var $sSetor = null;
 var $sAndar = null;
 var $sSala = null;
 var $sNoPontoRede = null;
 var $sQuant = null;
 var $sNomePlanoAcao = null;
 var $sDtAprovPlanoAcao = null;
 var $txtAtivSemRecurso = null;
 var $sAghMod = null;
 var $sQtsRecursoArea = null;
 var $sFuncUsaRecTurno = null;
 var $sTmpUsoDiaHora = null;
 var $sResultEsper = null;
 var $sIndResulRecur 	= null;
 var $dtConclusao = null; 
 var $dtAbertura = null;
  	 	 
 function mosRecursosInf( &$db ){
  $this->mosDBTable( 'sbd_solrecinfo', 'id', $db );
 }
}
Talvez seja uma besteirinha, mas não consegui ainda fazer o Joomla tratar direito isso pra mim.
Tenho que fazer um tratamento especial para os capos data?
belini
Novato
Mensagens: 10
Registrado em: 22 Jul 2008, 09:28

Re: Problema campo data no Componente

Mensagem por belini »

Moderador, podes mover pro lugar correto! :mrgreen:
Depois que postei notei que estava na area do Joomla 1.5 e na verdade deveria ser 1.0.x... :oops:
Desculpe e valeu...
Avatar do usuário
bigodines
Site Admin
Mensagens: 384
Registrado em: 11 Jul 2008, 20:25

Re: Problema campo data no Componente

Mensagem por bigodines »

acho que você não está passando uma data bem formatada para o MySQL e por isso ele tá convertendo tudo pra 0.
belini
Novato
Mensagens: 10
Registrado em: 22 Jul 2008, 09:28

Re: Problema campo data no Componente

Mensagem por belini »

Grande bigodes...

Poisé cara é por aí a resolução. A data atual que eu mando por hidden ficou beleza, fiz assim ó:

Código: Selecionar todos

<input name="dtAbertura" type="hidden" value="<?=date( "Y-m-d h:i" );?>">
Daí quando chega no bind ele vai legal e grava direitinho. Esse campo é datetime no banco.
O outro campo que o usuário preenche é tipo date no banco e está zerado ainda.

Eu tentei fazer o seguinte depois do Bind pra ver se ajuda:

Código: Selecionar todos

$objRecursosInf->sDtAprovPlanoAcao = date( $objRecursosInf->sDtAprovPlanoAcao, "Y-m-d" );
Tentei também antes do Bind:

Código: Selecionar todos

$_POST['sDtAprovPlanoAcao'] = date( $_POST['sDtAprovPlanoAcao'], "Y-m-d" );
Mas o campo fica zerado igual.
Já verifiquei se o nome das variáveis estão corretas no banco na classe e no save, mas tá OK.
Alguma dica?
belini
Novato
Mensagens: 10
Registrado em: 22 Jul 2008, 09:28

Re: Problema campo data no Componente

Mensagem por belini »

É isso aí bigodones, era PHP inferrujado o problema.
Resolvi assim:

Código: Selecionar todos

$data = explode("/", $objRecursosInf->sDtAprovPlanoAcao);
$mkdata = mktime(0,0,0,$data[1],$data[0],$data[2]);
$objRecursosInf->sDtAprovPlanoAcao = date('Y-m-d',$mkdata);
Pelo menos funcionou... :mrgreen:
Agora o negócio é ir adiante... ;)
Avatar do usuário
bigodines
Site Admin
Mensagens: 384
Registrado em: 11 Jul 2008, 20:25

Re: Problema campo data no Componente

Mensagem por bigodines »

hehe beleza belini. vc tbm poderia ter usado strtotime(). Mas o que importa é resolver o problema.
Responder