Ir para conteúdo

Arquivado

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

coffeedigital

Active Record Codeignither - Impressão de dados retornados em uma tabl

Recommended Posts

Olá, quero primeiramente agradecer por estarem lendo essa minha dúvida, em segundo queria pedir perdão se meu post não está de acordo com os padrões estabelecidos pelo administrador, vou tentar ser bem específico, e muito paciente, e claro, como sou um estudante, também quero aprender e aperfeiçoar meu conhecimento, então estou aberto também a criticas...

 

 

Acontece o seguinte, encontrei na internet um módulo para controle de estoque muito bacana no Github, e como sou entusiasta em Codeignither, resolvi aperfeiçoar algumas ferramentas e também disponibilizar minhas contribuições com o crédito do criador, claro.

 

 

A minha dúvida é a seguinte, dentro do meu arquivo de Controle do Codeignither, tenho um arquivo chamado pedido.php

<?php
if (! defined ( 'BASEPATH' ))
	exit ( 'No direct script access allowed' );
class Pedido extends CI_Controller {
	public function Pedido() {
		parent::__construct ();
		$this->check_isvalidated ();
	}
	private function check_isvalidated() {
		if (! $this->session->userdata ( 'validated' )) {
			redirect ( 'nome' );
		}
	}

function verPedido() {
		$id = $this->uri->segment ( 3 );
		
		$this->load->model ( 'MPedido', '', TRUE );
		$pedidos = $this->MPedido->getPedido ( $id );
		
		$pedido = $pedidos->result ();
		$cod_pedido = $pedido [0]->cod_pedido;
		
		$this->load->model ( 'MItemPedido', '', TRUE );
		$itens = $this->MItemPedido->getItens ( $cod_pedido );
		
		$table5 = $this->table->generate ( $pedidos );
		$tmpl = array (
				'table_open' => '<table id="tabela1" class="table table-striped table-bordered table-hover">' 
		);
		$this->table->set_template ( $tmpl );
		$this->table->set_empty ( " " );
		$this->table->set_heading ( 'Entregador', 'Telefone' );
		$table_row = array ();
		foreach ( $pedidos->result () as $pedido ) {
			$table_row = NULL;
			$this->load->model ( 'MFuncionario', '', TRUE );
			$funcionario = $this->MFuncionario->getfuncionario ( $pedido->id_funcionario )->result ();
			$table_row [] = $funcionario [0]->nome;
			$table_row [] = $funcionario [0]->tel_cel;
			$this->table->add_row ( $table_row );
		}
		$table5 = $this->table->generate ();
		$data ['data_table5'] = $table5;
		
		$table1 = $this->table->generate ( $pedidos );
		$tmpl = array (
				'table_open' => '<table id="tabela1" class="table table-striped table-bordered table-hover">' 
		);
		$this->table->set_template ( $tmpl );
		$this->table->set_empty ( " " );
		$this->table->set_heading ( 'Número', 'cliente', 'RG', 'CNPJ/CPF', 'Telefone', 'Data' );
		$table_row = array ();
		foreach ( $pedidos->result () as $pedido ) {
			$table_row = NULL;
			$table_row [] = $pedido->cod_pedido;
			$this->load->model ( 'MCliente', '', TRUE );
			$cliente = $this->MCliente->getcliente ( $pedido->id_cliente )->result ();
			$table_row [] = $cliente [0]->nome;
			$table_row [] = $cliente [0]->rg;
			$table_row [] = $cliente [0]->cpf_cnpj;
			$table_row [] = $cliente [0]->tel_cel;
			$table_row [] = $pedido->data_pedido;
			$this->table->add_row ( $table_row );
		}
		$table1 = $this->table->generate ();
		$data ['data_table1'] = $table1;
		
		$table2 = $this->table->generate ( $itens );
		$tmpl = array (
				'table_open' => '<table id="tabela2" class="table table-striped table-bordered table-hover">' 
		);
		$this->table->set_template ( $tmpl );
		$this->table->set_empty ( " " );
		$this->table->set_heading ( 'Editar', 'Adicionar', 'Produto', 'Quantidade', 'Valor unitario', 'Valor total', 'Excluir' );
		$table_row = array ();
		foreach ( $itens->result () as $item ) {
			$table_row = NULL;
			$this->load->model ( 'MProduto', '', TRUE );
			$produto = $this->MProduto->getProduto ( $item->cod_produto )->result ();
			$table_row [] = anchor ( 'itempedido/addItens/' . $item->cod_pedido . '/' . $item->id_item_pedido, '<span class="ui-icon ui-icon-plus"></span>' );
			$table_row [] = anchor ( '' . $item->id_item_pedido . '/' . $item->cod_pedido, '<span class="ui-icon ui-icon-pencil"></span>' );
			$table_row [] = $produto [0]->nome_produto;
			$table_row [] = $item->quantidade;
			$table_row [] = 'R$ ' . number_format ( $item->valor_item, 2, ',', '.' );
			$table_row [] = 'R$ ' . number_format ( ($item->quantidade) * ($item->valor_item), 2, ',', '.' );
			$table_row [] = anchor ( 'itempedido/deleteItem/' . $item->id_item_pedido . '/' . $item->cod_pedido, '<span class="ui-icon ui-icon-trash"></span>', "onClick=\" return confirm('Tem certeza que deseja remover o registro?')\"" );
			$this->table->add_row ( $table_row );
		}
		$table2 = $this->table->generate ();
		$data ['data_table2'] = $table2;
		
		// Resumo do pedido
		$table3 = $this->table->generate ( $itens );
		$tmpl = array (
				'table_open' => '<table id="tabela3" class="table table-striped table-bordered table-hover">' 
		);
		$this->table->set_empty ( " " );
		$this->table->set_heading ( 'Editar', 'Local de entrega', 'Taxa de entrega', 'Obs' );
		$table_row = array ();
		foreach ( $itens->result () as $item ) {
			$table_row = NULL;
			$table_row [] = anchor ( 'itempedido/addItens/' . $item->id_item_pedido . '/' . $item->cod_pedido, '<span class="ui-icon ui-icon-pencil"></span>' );
			$table_row [] = $pedido->end_pedido;
			$table_row [] = 'R$ ' . number_format ( $pedido->taxa_entrega, 2, ',', '.' );
			// $table_row [] = $pedido->taxa_entrega;
			$table_row [] = $pedido->obs;
			$this->table->add_row ( $table_row );
		}
		$table3 = $this->table->generate ();
		$data ['data_table3'] = $table3;
		
		// Total do Pedido
		$table4 = $this->table->generate ( $itens );
		$tmpl = array (
				'table_open' => '<table id="tabela4" class="table table-striped table-bordered table-hover">' 
		);
		$this->table->set_empty ( " " );
		$this->table->set_heading ( 'Forma de pagamento', 'Status', 'Valor total em produtos', 'Total' );
		$table_row = array ();
		foreach ( $itens->result () as $item ) {
			$table_row = NULL;
			$this->load->model ( 'MProduto', '', TRUE );
			$table_row [] = $pedido->pagamento_pedido;
			$table_row [] = $pedido->pagamento_status;
			$table_row [] = 'R$ ' . number_format ( ($item->quantidade) * ($item->valor_item), 2, ',', '.' );
			$table_row [] = 'R$ ' . number_format ( ($item->quantidade) * ($item->valor_item) + ($pedido->valor_pedido) + ($pedido->taxa_entrega), 2, ',', '.' );
			
			$this->table->add_row ( $table_row );
		}
		$table4 = $this->table->generate ();
		$data ['data_table4'] = $table4;
		
		$data ['title'] = "Listagem de Pedidos - Controle de Estoque";
		$data ['headline'] = "Listagem de Pedidos";
		$data ['include'] = 'pedido_view';
		$this->load->view ( 'template', $data );
	} 

No meu pedido.php temos uma função indica ao framework que iremos usar o modelo especificado, e a variável que receberá da tabela vindo do resultado da query do modelo e será enviado para uma view, que no caso está sendo uma table...

 

Veja por exemplo o meu código do meu arquivo de visualização chamado pedido_view.php

<?php 
	echo br();
	echo heading($headline, 2)
	echo heading('Entregador', 4);
	echo br();
        //Aqui estamos executando os dados do cliente
	echo $data_table5;
	echo heading('Dados do cliente', 4);
	echo $data_table1;
       //Aqui estamos mostrando resumo dos produtos
	echo heading('Resumo dos produtos', 4);
	echo $data_table2;
        //Aqui estamos mostrando o resumo do pedido
	echo heading('Resumo do pedido', 4);
	echo br();
	echo $data_table3;
       //Aqui estamos mostrando o valor total do pedido já calculado com o valor do produto
	echo heading('Total', 4);
	echo br();
	echo $data_table4;
	echo br();

/* End of file pedido_view.php */
/* Location: ./system/application/views/pedido_view.php */

Eu gostaria de saber se podem me ajudar, como eu faço nesse caso para que ela imprima esses dados em uma única table, pois nesse caso, como é um pedido, o cliente quer imprimir o resultado do pedido, e da forma que está atualmente, ele só imprime uma table específica.

 

Nesse caso queria imprimir todos esses dados retornados do meu db, em uma só "data_table;".

 

Quero ser o mais específico possível.

 

Desde já agradeço a todos pela atenção.

 

Abração galera. ;)

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.