Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 2
            [id] => 549582
            [titulo] => Montagem de Kit no estoque
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-03-27 11:08:44
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 269142
            [status] => A
            [isExample] => 
            [NomeUsuario] => William 
            [Apelido] => William (Devwilliam)
            [Foto] => 269142_20150809195205.jpg
            [Conteudo] => Thiago já solicitei gentilmente para você não duplicar posts!

Pelo visto você ainda não entendeu que fóruns funcionam de maneira colaborativa e as pessoas ajudam quando podem, possuem conhecimento e disponibilidade para isso, ninguém recebe para ajudar ou dar código pronto!

Quanto a sua dúvida, me espanta muito que uma pessoa que constrói um sistema desse usando framework MVC não saiba montar um cadastro do tipo mestre-detalhe.

Vou deixar uma dica para você de como montar isso:
1 - Para cada Kit é necessário cadastrar um cabeçalho como ID e Nome do Kit
2 - Depois disso vc exibe uma tabela onde será inserido pelo usuário o produto e a quantidade que serão inseridos nesse Kit.

Existem diversas maneiras de ser feito esse cadastro em termos de fluxo de dados e layout, faça um cadastro nesse [url:descricao=Meus Pedidos]https://meuspedidos.com.br[/url] (é Gratuito) que você vai entender o que estou explicando.

Boa sorte, espero que tenha entendido sobre o fórum e a dica do caminho a ser seguido na sua dúvida! ) )

Montagem de Kit no estoque

PHP
Thiago Magalhães
   - 26 mar 2016

Clique na imagem para abrir em uma nova janela
Clique na imagem para abrir em uma nova janela
Clique na imagem para abrir em uma nova janela
Pessoal preciso muito da ajuda de vocês estou tendo dificuldades para montar um cadastro de kit. Na hora de cadastrar o kit ele deve aparecer os produtos que estão na tabela estoque, onde eu possa selecionar quais produtos irão compor o kit e a quantidade deles, e quando for da baixa em um kit ele possa baixar (diminuir a quantidade no estoque do produto que compoe o kit. Segue as imagens em anexo com o banco de dados e o codigo das paginas segue abaixo.
kit_add.php
#Código


<?php 

	echo form_open('kit/create', 'class="form-cadastro"');
	$field_array = array('Codigo', 'Nome', 'Categoria', 'Apresentacao', 'Minimo');
	$field_array = array('Produto', 'Quantidade', 'Obs');
	
	echo heading($headline, 3, 'class="form-cadastro-heading"');
	echo br();
	
	echo form_input('codigo_kit', '', 'title="Código do kit formado por 3 caracteres iniciais do tipo e 3 digitos sequenciais daquele tipo" class="input-block-level input-xlarge" placeholder="Codigo" required');
	echo br();
	
	echo form_input('nome_kit', '', 'title="Nome do kit" class="input-block-level input-xlarge" placeholder="Nome do kit" required');
	
	echo ('<select name="categoria" title="Categoria ou tipo de Kit" class="input-block-level input-xlarge" required>');
	echo ('<option value="">Categoria</option>');
	foreach($categorias->result() as $categoria):
		echo ('<option value="'.$categoria->id_categoria.'">'.$categoria->nome_categoria.'</option>');
	endforeach;
	echo ('</select>');
		
	echo ('<select name="unidade" title="Unidade de medida do kit" class="input-block-level input-xlarge" required>');
	echo ('<option value="">Unidade de medida</option>');
	foreach($unidades->result() as $unidade):
		echo ('<option value="'.$unidade->id_apresentacao.'">'.$unidade->nome_apresentacao.'</option>');
	endforeach;
	echo ('</select>');
	
	
		
	echo form_input('qtd_minima', '', 'title="Quantidade mínima do kit em estoque" class="number input-block-level input-small" placeholder="Minimo" type="number" required');
	echo br();
	echo br();
	
	
	
	echo form_submit('', 'Cadastrar', 'class="btn btn-primary"');
	echo form_close();


kit.php
#Código

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Kit extends CI_Controller {

	public function Kit() 
	{
		parent::__construct();
		$this->check_isvalidated();
	}
	
	private function check_isvalidated(){
        if(! $this->session->userdata('validated')){
            redirect('login');
        }
    }
	
	function add()
    {
        $data['title'] = "Cadastro de Kit - Controle de Estoque";
        $data['headline'] = "Cadastro de Kit";
        $data['include'] = "kit_add";
		$this->load->model('MApresentacao', '', TRUE);
		$data['unidades'] = $this->MApresentacao->listApresentacao();
		$this->load->model('MCategoria', '', TRUE);
		$data['categorias'] = $this->MCategoria->listCategoria();
        $this->load->view('template', $data);
    }
	
	function create()
    {
        $this->load->model('MKit','',TRUE);
        $this->MKit->addKit($_POST);
        redirect('kit/listing', 'refresh');
    }
	
	function edit()
	{
		$id = $this->uri->segment(3);
		$this->load->model('MKit', '', TRUE);
		$data['kit'] = $this->MKit->getKit($id)->result();
		$data['title'] = "Modificar Kit - Controle de Estoque";
		$data['headline'] = "Edição de Kit";
		$data['include'] = "kit_edit";
		$this->load->model('MApresentacao', '', TRUE);
		$data['unidades'] = $this->MApresentacao->listApresentacao();
		$this->load->model('MCategoria', '', TRUE);
		$data['categorias'] = $this->MCategoria->listCategoria();
		$this->load->view('template', $data);
	}
	
	function update()
	{
		$this->load->model('MKit','',TRUE);
		$this->MKit->updateKit($_POST['id_kit'], $_POST);
		redirect('kit/listing', 'refresh');
	}
	
	function delete()
	{
		$id = $this->uri->segment(3);
		$this->load->model('MKit','',TRUE);
		$this->MKit->deleteKit($id);
		redirect('kit/listing', 'refresh');
	}

	function listing()
	{
		$this->load->model('MKit','',TRUE);
		$qry = $this->MKit->listKit();
		$table = $this->table->generate($qry);
		$tmpl = array ( 'table_open'  => '<table id="tabela" class="table table-striped table-bordered table-hover">' );
		$this->table->set_template($tmpl);
		$this->table->set_empty(" "); 
		$this->table->set_heading('Editar', 'Codigo', 'Nome', 'Categoria', 'Unidade', 'Minimo', 'Excluir');
		$table_row = array();
		foreach ($qry->result() as $kit)
		{
			$table_row = NULL;
			$table_row[] = anchor('kit/edit/' . $kit->id_kit, '<span class="ui-icon ui-icon-pencil"></span>');
			$table_row[] = $kit->codigo_kit;
			$table_row[] = $kit->nome_kit;
			$table_row[] = $kit->nome_categoria;
			$table_row[] = $kit->nome_apresentacao;
			$table_row[] = $kit->qtd_minima;
			$table_row[] = anchor('kit/delete/' . $kit->id_kit, '<span class="ui-icon ui-icon-trash"></span>', 
							"onClick=\" return confirm('Tem certeza que deseja remover o registro?')\"");
			$this->table->add_row($table_row);
		}    
		$table = $this->table->generate();
		$data['title'] = "Listagem de Kit - Controle de Estoque";
		$data['headline'] = "Listagem de Kit";
		$data['include'] = 'kit_listing';
		$data['data_table'] = $table;
		$this->load->view('template', $data);
	}
}



mkit.php
#Código

<?php 

	class MKit extends CI_Model{

		function addKit($data)
		{
			$this->db->insert('kit', $data);
		}

		function listKit()
		{
			$this->db->join('apresentacao', 'apresentacao.id_apresentacao = kit.unidade');
			$this->db->join('categoria', 'categoria.id_categoria = kit.categoria');
			$this->db->order_by('nome_kit', 'asc');
			return $this->db->get('kit');
		}

		function getKit($id)
		{
			return $this->db->get_where('kit', array('id_kit'=> $id));
		}

		function updateKit($id, $data)
		{
			$this->db->where('id_kit', $id);
			$this->db->update('kit', $data); 
		}

		function deleteKit($id)
		{
			$this->db->where('id_kit', $id);
			$this->db->delete('kit'); 
		}

	}

Post mais votado

William (devwilliam)
   - 27 mar 2016

Thiago já solicitei gentilmente para você não duplicar posts!

Pelo visto você ainda não entendeu que fóruns funcionam de maneira colaborativa e as pessoas ajudam quando podem, possuem conhecimento e disponibilidade para isso, ninguém recebe para ajudar ou dar código pronto!

Quanto a sua dúvida, me espanta muito que uma pessoa que constrói um sistema desse usando framework MVC não saiba montar um cadastro do tipo mestre-detalhe.

Vou deixar uma dica para você de como montar isso:
1 - Para cada Kit é necessário cadastrar um cabeçalho como ID e Nome do Kit
2 - Depois disso vc exibe uma tabela onde será inserido pelo usuário o produto e a quantidade que serão inseridos nesse Kit.

Existem diversas maneiras de ser feito esse cadastro em termos de fluxo de dados e layout, faça um cadastro nesse Meus Pedidos (é Gratuito) que você vai entender o que estou explicando.

Boa sorte, espero que tenha entendido sobre o fórum e a dica do caminho a ser seguido na sua dúvida!

Thiago Magalhães
   - 26 mar 2016

caso alguém queira entrar no sistema para visualizar como funciona segue link com senha

http://www.102celular.com/estoque

usuario: admin
senha: admin

Link para baixar os arquivos e o banco de dados:
http://www.4shared.com/zip/9OPuOry9ce/estoque.html?

Pessoal apenas quero poder cadastrar um kit, onde nesse kit contém os produtos da tabela produtos, e a quantidade de cada produto que compõe o kit. e Na aba saida quando cadastrar uma saida do Kit, o mesmo subtraia a quantidade do produto em estoque de acordo com o que foi cadastrado no kit.

Por exemplo:

tenho 4 produtos cadastrados na aba cadastrar produtos.

Madeira
Grampo
parafuso
bucha

Na aba estoque tenho:

Produto: Quantidade:

Madeira 20
Grampo 30
parafuso 40
bucha 50

Na aba cadastrar kit (aqui que está o problema) quando for cadastrar um kit, tipo: KIT CAMA DE CASAL:. Nesse kit deve conter os seguintes produtos: madeira, grampo, parafuso e a quantidade que cada um possui e que irá baixar no estoque. Exemplo:

Kit Cama de casal

Produto: Quantidade:

Madeira 5
Grampo 3
parafuso 6
bucha 8

Na aba saida quando for dar baixa em um kit, por Exemplo KIT CAMA DE CASAL. Ele baixa a quantidade do Kit, e a quantidade dos produtos em estoque como citado acima

Depois de baixado o kit cama de casal o estoque atualiza os valores.

Produto: Quantidade:

Madeira 15
Grampo 27
parafuso 34
bucha 42

Pessoal se eu não me expressei direito podem perguntar, mais resumindo o que eu quero é que na aba cadastrar kit fosse possivel cadastrar um kit selecionando varios produtos e a quantidade que irá usar. E na aba cadastrar saída, fosse possível da baixa no kit e ele baixasse a quantidade de produtos em estoque de acordo com a quantidade cadastrada em cada kit.

Desde já agradeço muito a Ajuda.

Thiago Magalhães
   - 27 mar 2016

Esse sistemas meus pedidos não me ajudou em nada William.

no cadastro do kit

apenas quero anexar os produtos e a quantidade que irão diminuir no estoque quando der baixa nesse kit só isso que eu quero. Mais não ta batendo todas as formas que fiz deu erro.

Thiago Magalhães
   - 30 mar 2016

aqui é dificil a galera ajudar. kkk esperando ajuda ate hoje

Marcos P
   - 30 mar 2016


Citação:

Pessoal se eu não me expressei direito podem perguntar, mais resumindo o que eu quero é que na aba cadastrar kit fosse possivel cadastrar um kit selecionando varios produtos e a quantidade que irá usar. E na aba cadastrar saída, fosse possível da baixa no kit e ele baixasse a quantidade de produtos em estoque de acordo com a quantidade cadastrada em cada kit.


Thiago,

Acho que você não precisa de nossa ajuda, pois AJUDA, aqui no DevMedia, são dicas ou referências de pesquisa, para que você, baseado no seu esforço, possa resolver seu problema.

Não é isso que você necessita.

Você precisa de alguém que faça isso para você, pois, claramente, você iniciou um projeto ( trivial ) que não tem condições de concluir.

O William, que respondeu seu post, o fez com a melhor das boas intenções.

Então, fazer comentários como : "Esse sistemas meus pedidos não me ajudou em nada William" ou "aqui é dificil a galera ajudar. kkk esperando ajuda ate hoje", não agregam em absolutamente nada.

Se você quiser participar, contribuindo com nossa comunidade, será muito bem-vindo !

Mas, se acha que nós temos obrigação em resolver seus problemas, está muito enganado !

Leonardo Xavier
   - 06 abr 2016

Desenvolvi recentemente uma solução parecida com o que você quer, vou baixar o seu fonte e tentar lhe ajudar com isso. Mas meu sistema não utilizava ingniter.....fiz estrutural mesmo. Não serve para seu projeto.