Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eden Coelho

[Resolvido] ZendFramework

Recommended Posts

Olá, meu problema é o seguinte:

 

Temos um pequeno cadastro de veiculos, onde a inserção ao banco de dados esta funcionando perfeitamente. O problema é a exibição desses dados na tela, eles só aparecem no index. "zf/veiculo/index" mas eu preciso pegar dados do banco e exibir em "zf/veiculo/adicionar" no meu controler tem o adicionarAction que funciona para inserir os dados no banco, so não funciona para exibilos na tela. Eu gostaria que o meu formulario para adicionar, busque dados no banco (marca e modelo do veiculo) e exiba na tela.

 

Alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce ta fazendo o select e exibindo nessa pagina?

 

posta como voce ta fazendo

 

veiculoController

 

 

clesMarkes();

$typeVehicles = new TypeVehicles();

$vehiclesModels = new VehiclesModels();

 

$this->view->vehicles = $vehicles->fetchAll();

$this->view->vehiclesMarkes = $vehiclesMarkes->fetchAll();

$this->view->typeVehicles = $typeVehicles->fetchAll();

$this->view->vehiclesModels = $vehiclesModels->fetchAll();

$this->render();

}

 

function __call($action, $arguments)

{

echo 'Action = ' . $action . '<br />';

echo 'Arguments = ' . $arguments;

}

 

function adicionarAction()

{

 

$this->view->title = "Cadastrar seu Veiculo";

 

if (strtolower($_SERVER['REQUEST_METHOD']) == 'post') {

Zend_Loader::loadClass('Zend_Filter_StripTags');

$filter = new Zend_Filter_StripTags();

 

/**

*Começo dos itens obrigatorios da classe Vehicles.

*/

 

$Z_PLATE = $filter->filter($this->_request->getPost('Z_PLATE'));

$Z_PLATE = trim($Z_PLATE);

$Z_YEAR = trim($filter->filter($this->_request->getPost('Z_YEAR')));

$Z_YEAR = trim($Z_YEAR);

$Z_VERSION = $filter->filter($this->_request->getPost('Z_VERSION'));

$Z_VERSION = trim($Z_VERSION);

$Z_COMBUSTIBLE = $filter->filter($this->_request->getPost('Z_COMBUSTIBLE'));

$Z_CAPACITY = $filter->filter($this->_request->getPost('Z_CAPACITY'));

$Z_FORCE = $filter->filter($this->_request->getPost('Z_FORCE'));

$Z_FORCE = trim($Z_FORCE);

 

//fim dos itens da classe Vehicles

 

/**

*Começo dos itens da classe VehiclesMarkes

*/

 

$Z_DESCRIPTION = $filter->filter($this->_request->getPost('Z_DESCRIPTION'));

$Z_DESCRIPTION = trim($Z_DESCRIPTION);

 

//fim dos itens da classe VehiclesMarkes

 

/**

*Começo dos itens da classe TypeVehicles

*/

 

$Z_TYPE = $filter->filter($this->_request->getPost('Z_TYPE'));

 

//fim do itens da classe TypeVehicle

 

/**

*Começo dos itens da classe VehiclesModels

*/

 

$Z_DESCRIPTION_MODELS = $filter->filter($this->_request->getPost('Z_DESCRIPTION_MODELS'));

$Z_DESCRIPTION_MODELS = trim($Z_DESCRIPTION_MODELS);

 

//fim dos itens da classe VehiclesModels

 

if ($Z_PLATE != '') {

//array da classe Vehicle

$data = array(

'Z_PLATE' => $Z_PLATE,

'Z_YEAR' => $Z_YEAR,

'Z_VERSION' => $Z_VERSION,

'Z_CAPACITY' => $Z_CAPACITY,

'Z_COMBUSTIBLE' => $Z_COMBUSTIBLE,

'Z_FORCE' => $Z_FORCE

);

//array da classe VehicleMarke

$data1 = array(

'Z_DESCRIPTION' => $Z_DESCRIPTION

);

//array da classe TypeVehicle

$data2 = array(

'Z_TYPE' => $Z_TYPE

);

//array da classe VehiclesModels

$data3 = array(

'Z_DESCRIPTION_MODELS' => $Z_DESCRIPTION_MODELS,

);

 

/**

*Insere tudo no banco e redireciona para a pagina principal.

*/

 

$vehicles = new Vehicles();

$vehicles->insert($data);

$vehiclesMarkes = new VehiclesMarkes();

$vehiclesMarkes->insert($data1);

$typeVehicles = new TypeVehicles();

$typeVehicles->insert($data2);

$vehiclesModels = new VehiclesModels();

$vehiclesModels->insert($data3);

$this->_redirect('/vehicle/');

return;

}

}

 

// set up an "empty" cliente

$this->view->vehicles = new stdClass();

$this->view->vehiclesMarkes = new stdClass();

$this->view->typeVehicles = new stdClass();

$this->view->vehiclesModels = new stdClass();

 

//zerando os elementos da classe Vehicle

$this->view->vehicles->Z_ID = null;

$this->view->vehicles->Z_PLATE = '';

$this->view->vehicles->Z_YEAR = '';

$this->view->vehicles->Z_VERSION = '';

$this->view->vehicles->Z_CAPACITY = '';

$this->view->vehicles->Z_COMBUSTIBLE = '';

$this->view->vehicles->Z_FORCE = '';

 

//zerando os elementos da classe VehicleMarkes

$this->view->vehiclesMarkes->Z_DESCRIPTION = '';

 

//zerando os elementos da classe TypeVehicle

$this->view->typeVehicles->Z_TYPE = '';

 

//zerando os elementos do classe VehiclesModels

$this->view->vehiclesModels->Z_DESCRIPTION_MODELS = '';

 

// diz a action e cria um botao

$this->view->action = 'adicionar';

$this->view->buttonText = 'Avançar';

$this->render();

}

 

 

 

_form (onde eu quero listar as marcas e modelos)

 

 

 

<form action="<?php echo $this->baseUrl ?>/vehicle/<?php echo $this->action; ?>" method="post">

 

<div>

 

<div>

<label>Tipo Veiculo</label>

<select name="Z_TYPE" id="Z_TYPE">

<option value="1" selected="selected">Passeio</option>

<option value="2">Utilitario</option>

<option value="3">Vam</option>

<option value="4">Lancha</option>

<option value="5">Avião</option>

</select>

</div>

 

 

<div>

<label for="Z_PLATE">Placa:</label>

<input id="Z_PLATE"size="25" name="Z_PLATE" value="<?php echo $this->escape(trim($this->vehicles->Z_PLATE));?>" type="text">

</div>

 

<div>

<label for="Z_YEAR">Ano:</label>

<input id="Z_YEAR"size="25" name="Z_YEAR" value="<?php echo $this->escape(trim($this->vehicles->Z_YEAR));?>" type="text">

</div>

 

<div>

<label for="Z_VERSION">Versão:</label>

<input id="Z_VERSION"size="25" name="Z_VERSION" value="<?php echo $this->escape(trim($this->vehicles->Z_VERSION));?>" type="text">

</div>

 

<!-- Marca do veiculo -->

des

<?php echo $this->vehiclesMarkes->Z_DESCRIPTION ?>

fim desc

<?php

$i=0;

echo "<select>";

foreach($this->vehiclesMarkes as $vehicleMarkes) {

echo "<option>" . $this->escape($vehicleMarkes->Z_DESCRIPTION) . "</option>";

$i++;

}

echo "</select>";

 

$i=0;

echo "<script language='javascript'>";

foreach($this->vehiclesMarkes as $vehicleMarkes) {

echo "<option>" . $this->escape($vehicleMarkes->Z_DESCRIPTION) . "</option>";

echo "twm[" . $i . "]='" . $this->escape($vehicleMarkes->Z_DESCRIPTION) . "'; vwm[". $i . "]=". $this->escape($vehicleMarkes->Z_ID) . ";\n";

$i++;

}

echo "</script>";

?>

 

 

 

 

 

<div>

<label>Marca:</label>

<select name="Z_DESCRIPTION" id="Z_DESCRIPTION">

<option value="0" selected="selected"></option>

<option value="1" >Fiat</option>

<option value="2">Ford</option>

<option value="3">BMW</option>

<option value="4">Volkswagen</option>

<option value="5">Renault</option>

</select>

</div>

 

 

 

<!-- Modelo do veiculo -->

 

<div>

<label>Modelo:</label>

<select name="Z_DESCRIPTION_MODELS" id="Z_DESCRIPTION_MODELS">

<option value="0" selected="selected"></option>

<option value="palio" >palio</option>

<option value="uno">uno</option>

<option value="tipo">tipo</option>

<option value="stilo">stilo</option>

<option value="punto">punto</option>

</select>

</div>

 

<div>

<label for="Z_FORCE">Força:</label>

<input id="Z_FORCE"size="25" name="Z_FORCE" value="<?php echo $this->escape(trim($this->vehicles->Z_FORCE));?>" type="text">

</div>

 

<div>

<label>Capacidade (pessoas)</label>

<select name="Z_CAPACITY" id="Z_CAPACITY">

<option value="0" selected="selected"></option>

<option value="2">2</option>

<option value="4">4</option>

<option value="5">5</option>

<option value="7">7</option>

<option value="10">10 ou mais</option>

</select>

</div>

 

 

<div>

<label>Combustivel</label>

<select name="Z_COMBUSTIBLE" id="CAPACITY">

<option value="0" selected="selected"></option>

<option value="alcool">Álcool</option>

<option value="diesel">Diesel</option>

<option value="gasolina">Gasolina</option>

<option value="gasolina/álcool">Gasolina/Álcool</option>

<option value="gnv">GNV</option>

</select>

</div>

 

<div id="formbutton">

<input type="hidden" name="id" value="<?php echo $this->users->Z_ID; ?>" />

<input type="submit" name="add" value="<?php echo $this->escape($this->buttonText); ?>" />

</div>

</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando voce debuga o codigo os dados do select estao sendo mostrados?

 

voce quer cadastrar um veiculo e ja mostrar ele na mesma pagina?

 

eu quero cadastrar um veiculo inserindo uma marca... essa marca vem do banco de dados atraves do <select><option>, mas nada que eu coloque do banco nessa pagina aparece... so aparece na index. :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando voce debuga o codigo os dados do select estao sendo mostrados?

 

voce quer cadastrar um veiculo e ja mostrar ele na mesma pagina?

 

eu quero cadastrar um veiculo inserindo uma marca... essa marca vem do banco de dados atraves do <select><option>, mas nada que eu coloque do banco nessa pagina aparece... so aparece na index. :S

 

 

Imagem Postada

 

nesse select é que eu quero que liste as marcas vindo do banco

 

Quando voce debuga o codigo os dados do select estao sendo mostrados?

 

voce quer cadastrar um veiculo e ja mostrar ele na mesma pagina?

 

eu quero cadastrar um veiculo inserindo uma marca... essa marca vem do banco de dados atraves do <select><option>, mas nada que eu coloque do banco nessa pagina aparece... so aparece na index. :S

 

 

 

 

Imagem Postada

 

nesse select é que eu quero que liste as marcas vindo do banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi

 

faz isso só pra testar no adicionarAction:

 

	public function listarAction()
{	
	$this->_helper->removeHelper('viewRenderer');
	print_r($vehiclesMarkes->fetchAll());
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi

 

faz isso só pra testar no adicionarAction:

 

public function listarAction()
	{	
		$this->_helper->removeHelper('viewRenderer');
		print_r($vehiclesMarkes->fetchAll());
	}

 

dentro do adicionarAction:

 

function adicionarAction()

{

 

$this->view->title = "Cadastrar seu Veiculo";

 

function listarAction()

{

$this->_helper->removeHelper('viewRenderer');

print_r($vehiclesMarkes->fetchAll());

}

(...)

 

 

Mas sem resultados... aparece vazio ainda tenho o msm codigo no index.phtml e funciona... "/ estão ja tirando minha cabeça aqui na empresa por causa disso :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

era assim:

 

function adicionarAction()
{
$this->view->title = "Cadastrar seu Veiculo";
$this->_helper->removeHelper('viewRenderer');
print_r($vehiclesMarkes->fetchAll());
}

 

mas só uma duvida onde você esta estanciando a classe $vehiclesMarkes ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

era assim:

 

function adicionarAction()
{
	$this->view->title = "Cadastrar seu Veiculo";
	$this->_helper->removeHelper('viewRenderer');
	print_r($vehiclesMarkes->fetchAll());
}

mas só uma duvida onde você esta estanciando a classe $vehiclesMarkes ?

 

__________________________________

 

class VehicleController extends Zend_Controller_Action

{

function init()

{

$this->initView();

$this->view->baseUrl = $this->_request->getBaseUrl();

 

/**

*Carregando as classes

*/

 

Zend_Loader::loadClass('Vehicles');

Zend_Loader::loadClass('VehiclesMarkes');

Zend_Loader::loadClass('TypeVehicles');

Zend_Loader::loadClass('VehiclesModels');

 

}

 

function indexAction()

{

$this->view->title = "Veiculos";

 

$vehicles = new Vehicles();

$vehiclesMarkes = new VehiclesMarkes();

$typeVehicles = new TypeVehicles();

$vehiclesModels = new VehiclesModels();

 

$this->view->vehicles = $vehicles->fetchAll();

$this->view->vehiclesMarkes = $vehiclesMarkes->fetchAll();

$this->view->typeVehicles = $typeVehicles->fetchAll();

$this->view->vehiclesModels = $vehiclesModels->fetchAll();

$this->render();

}

 

 

Somente no indexAction()

 

agora eu instanciei tb na adicionarAction() ele listou ficou assim:

 

Imagem Postada

 

mas num lista la no <select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser que eu de uma olhada direito e puder me mande o que você ta fazendo pro meu email

 

fabyo.php@gmail.com

 

porque sem poder testar fica dificul de descobrir o erro e debugar

 

e ja te passo umas dicas que to vendo que você ta fazendo coisas que nao precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se quiser que eu de uma olhada direito e puder me mande o que você ta fazendo pro meu email

 

fabyo.php@gmail.com

 

porque sem poder testar fica dificul de descobrir o erro e debugar

 

e ja te passo umas dicas que to vendo que você ta fazendo coisas que nao precisa.

 

 

Cara muito obrigado pela ajuda. vlw msm, resolveu meu problema.

 

Fabyo

http://forum.imasters.com.br/index.php?showtopic=282879

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.