Formulario Para Dados De Relatorio

Boa tarde a todos,

Estou iniciando no Yii e no forum e já fiz alguns testes bem sucedidos até aqui como, conexao com o banco (firebird), CRUD, etc, mas estou com uma dúvida…

Quero criar um relatório e preciso montar uma interface para inserir alguns parametros como, data inicial, data final, etc. A questão é, como faço para montar um formulario para poder pegar os valores desses inputs, pois até esse momento não haverá conexao com banco de dados, são somente dados inseridos pelo usuario.

Se alguém puder me ajudar agradeço.

Valeu

Evandro

Evandro,

1o. Monte um pequeno formulário com os Inputs e coloque um botão para o submit.

2o. No seu controller, ficaria algo assim para recuperar os inputs:




	public function actionSuaAction()

	{

		if(Yii::app()->request->isPostRequest)

		{

                   $parametro01 = $_POST['SEUINPUT01'];

                   $parametro02 = $_POST['SEUINPUT02'];


                   // faça suas pesquisas no banco

                   // monte sua saída, que pode ser array, dataprovider ou model

                   // não esqueça de passar seu resultado no render

                }

        }



Se tiver problema, utilize o Firebug ou os Consoles dos browsers, para conferir como fica o conteúdo do POST.

Também sou inexperiente, então vamos nos ajudar !

Opa Gustavo,

Valeu pela dica vou seguir pra ver se consigo algo. Dando certo dou um retorno.

Valeu

Achei Interesante sua dicas mas se poderias adiantar mais coisas ficaria bem vou precisar desta coisa no meio projecto.

Obrigado

Olá,

Mas qual é a sua dúvida específica ?

Opa,

Resolvido!!

Pesquisando um pouco mais resolvi fazer assim:

  • criei um model na unha mesmo (segue abaixo)

class FinanceiroRelatorio extends CFormModel

{

public $datainicial;


public $datafinal;


public $relatorio;


public $tiporelatorio;

public $pdv;

/**


 * Declares the validation rules.


 */


public function rules()


{


	return array(


		// datainicial, datafinal, e relatorio sao obrigatorios


		array('datainicial, datafinal, relatorio', 'required'),


	);


}

public function attributeLabels()

{


	return array(


		'id' => 'ID',


		'datainicial' => 'Data inicial',


		'datafinal' => 'Data final',


		'relatorio' => 'Relatório',


		'tiporelatorio' => 'Tipo',


		'pdv' => 'Selecione o(s) PDV(s) desejado(s)',


	);


}

}


  • depois usnado o Gii criei a form.

Ficou jóia! Só tive um probleminha (por desconhecimento), o gii criou todos os campos como textField, alguém saberia me dizer como fazer o gii criar dropdownlist diretamente?

Valeu

O Gii não cria Dropdownlist.

Tem que ajustar na mão.

Faz assim:




<?php echo $form->dropDownListRow($model,'uf', CHtml::listData(Estados::model()->findAll(), 'uf', 'nome'), array('prompt'=>'--Selecione--')); ?>



Não entendi porque você criou um outro Model na mão. Eu entendi que você já tinha o Model e o Crud gerados pelo Gii, e queria apenas fazer um relatório customizado, com filtros por campos específicos.

Mas beleza … se está jóia, então valeu !

Abs,

Opa,

Criei na unha pq essa interface inicial não está relacionada com o banco. Bom, pelo menos foi a saída que achei.

Mas valeu pela dica.