Ir para conteúdo
Fórum Script Brasil
  • 0

receber via post um whille criar um array receber via request usando foreach


adrsublimacao

Pergunta

boa tarde precisava de uma ajuda 

 

tenho 3 arquivos em php

 

o primeiro arquivo pega os dados da tabela pedidos em forma de whille


                    <?php 
                    while ($carpro = $produtosca->fetch(PDO::FETCH_OBJ)) { 
                    $nomepro  = $connect->query("SELECT * FROM produtos WHERE id = '".$carpro->produto_id."' AND idu = '$cod_id'");
                    $nomeprox = $nomepro->fetch(PDO::FETCH_OBJ);
                   
                 ?>        
                    
                  <input type="text" name="id_produto" value="<?php print $nomeprox->id;?>"/>  <!-- id do produto-->   
                  <input type="text" name="nome_produto" value="<?php print $nomeprox->nome;?>"/>  <!-- nome do produto --> 

 

<?php } ?>        

 

até aqui tudo bem ta pegando o loop certinho

 

agora tenho um segundo arquivo q recebe via post esse loop do whille

 

    $x = 0;

        

            $data_nfe['produtos'][$x] = array(
                'item' => $_POST["id_produto"], // ITEM do produto
                'nome' => $_POST["nome_produto"], // Nome do produto
                'cst' => $_POST["cst_produto"], // cst do produto
                'pis' => $_POST["pis_produto"], // pis do produto
                'cofins' => $_POST["cofins_produto"], // pis do produto
                'cfop' => $_POST["cfop_produto"], // pis do produto
                'ean' => 'SEM GTIN', // EAN do produto
                'ncm' => $_POST["ncm_produto"], // NCM do produto
                'cest' => str_replace(array(" ", ".", ","), "", $cest), // CEST do produto
                'unidade' => $_POST["und_medida_produto"], // UNIT do produto (UN, PC, KG)
                'quantidade' => $_POST["quantidade_produto"], // Quantidade de itens
                'peso' => str_replace(array(" ", ","), "", $peso), // Peso em KG. Ex: 800 gramas = 0.800 KG
                'origem' => $_POST["origem_produto"], // Origem do produto
                'subtotal' => $_POST["valor_unitario"], // Preço unitário do produto - sem descontos
                
                
                
            );
        
            $x + 1;

 

aqui faço um   echo '<pre>'; var_dump($data_nfe); so pega o ultimo item vindo do post (AQUI TA O PROBLEMA SE PUDER ME AJUDAR A PEGAR TODOS OS ITENS DO WHILE

 

ai tenho outro terceiro arquivo que recebe via request esse array

 

$x = 0;
$y = 0;

 

foreach($_REQUEST['produtos'] as $prod){
$y++;
}

foreach($_REQUEST['produtos'] as $prod ){    
$item = $x + 1;
    
$codigo = RmvString($_REQUEST['produtos'][$x]['item'], 2);    // CODIGO DO PRODUTO

$nomeproduto = RmvString($_REQUEST['produtos'][$x]['nome']);      // NOME DO PRODUTO

 

dou um echo '<pre>'; var_dump($prod); e tambem so pega o ultimo item (NA VERDADE AQUI não SEI SE TA CERTO OU não porque O SEGUNDO AQUIVO não TA PEGANDO CERTO TAMBEM)

 

 

não sei se deu pra entender mais essa seria minha duvida porque o segundo arquivo ta pegando so o ultimo post do while do primeiro arquivo?

 

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Eu reorganizei as três listagens, e elas ficaram assim

listagem 1
--------------------------------------------------------
<?php 
while ($carpro = $produtosca->fetch(PDO::FETCH_OBJ)) { 
    $nomepro  = $connect->query("SELECT * FROM produtos WHERE id = '".$carpro->produto_id."' AND idu = '$cod_id'");
    $nomeprox = $nomepro->fetch(PDO::FETCH_OBJ);      
    echo "<input type=text name=id_produto value=".$nomeprox->id."/>";
	echo <input type="text" name="nome_produto" value="<?php print $nomeprox->nome;?>"/>}  

listagem 2
------------------------------------------------------------
<?php
$x = 0;
data_nfe['produtos'][$x] = array(
    'item' => $_POST["id_produto"],
    'nome' => $_POST["nome_produto"], 
    'cst' => $_POST["cst_produto"], 
    'pis' => $_POST["pis_produto"],
    'cofins' => $_POST["cofins_produto"],
    'cfop' => $_POST["cfop_produto"], 
    'ean' => 'SEM GTIN', 
    'ncm' => $_POST["ncm_produto"], 
    'cest' => str_replace(array(" ", ".", ","), "", $cest),
    'unidade' => $_POST["und_medida_produto"],
    'quantidade' => $_POST["quantidade_produto"], 
    'peso' => str_replace(array(" ", ","), "", $peso), 
    'origem' => $_POST["origem_produto"],
    'subtotal' => $_POST["valor_unitario"]);
$x + 1;

listagem 3
-----------------------------------------------------
?php
$x = 0;
$y = 0;
foreach($_REQUEST['produtos'] as $prod){$y++;}
foreach($_REQUEST['produtos'] as $prod ){
	item = $x + 1;    
	$codigo = RmvString($_REQUEST['produtos'][$x]['item'], 2);
	$nomeproduto = RmvString($_REQUEST['produtos'][$x]['nome']);

Todas elas são parciais, e elas não ajudam a identificar o propósito dos códigos. A listagem 1 vai imprimir um monte de <input>, a segunda espera um monte de parâmetros pelo método POST e a terceira é bem interessente, $_REQUEST, isso eu nunca usei.

Hoje, usei o método $_REQUEST através desse código:

 

<?php
if (isset($_REQUEST['teste'])){echo "a solicitação veio pelo método ".$_REQUEST['teste'];}
echo "<p><a href='?teste=get(hiperlink)'>Teste</a>";
echo "<p><form><input type=submit value='metodo get'><input type=hidden name=teste value=get></form>";
echo "<p><form method=post><input type=submit value='metodo post'><input type=hidden name=teste value=post></form>";

Ele responde a  todo tipo de solicitação, não importa se a solicitação foi feito por um hiperlink ou por um formulário que usa o método GET ou POST.

Mas, estou disposto a ajudar você. Só preciso de duas informações: de onde vem as informações e o que você pretende fazer com elas?

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...