Ir para conteúdo

POWERED BY:

Arquivado

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

diegohamaz1

Ajuda com looping encadeado

Recommended Posts

Olá.

 

Na minha opinião você deveria deixar os dados organizados antes de enviá-los para o servidor, aí você nem precisaria organizá-los no PHP.

 

Da forma que está, você pode fazer assim:

 

 

<?php
$camposGarantia = Array(
    "post_garantia", "post_tipo_garantia", "post_valor_garantia",
    "post_garantia_desc", "post_garantia_obs"
);
 
$dadosPost = $_POST;
 
$propostas = Array();
 
foreach($dadosPost as $proposta){
    $itemKey = count($propostas);
    
    $propostas[$itemKey] = Array("garantia" => Array());
    
    foreach($proposta as $camposProposta){
        $valorCampo = $camposProposta["valor"];
        
        @list($nomeCampo, $numeroCampo) = explode("-", $camposProposta["campo"]);
        
        if(in_array($nomeCampo, $camposGarantia)){
            $propostas[$itemKey]["garantia"][$numeroCampo][$nomeCampo] = $valorCampo;
        }else{
            $propostas[$itemKey][$nomeCampo] = $valorCampo;
        }
    }
}
 
// agora o array está organizado e fica mais fácil trabalhar com ele...
echo "<pre>";
foreach($propostas as $numeroProposta => $proposta){
    echo "<hr>Proposta {$numeroProposta}<br>";
    echo $proposta["id_proposta"]."<br>";
    echo $proposta["cp_volume"]."<br>";
    echo $proposta["cp_taxa"]."<br>";
    // etc
    
    // insert into proposta() VALUES(...)
    
    foreach($proposta["garantia"] as $numeroGarantia => $garantia){
        echo "* Garantia {$numeroGarantia}<br>";
        echo "\t-> ".$garantia["post_garantia"]."<br>";
        echo "\t-> ".$garantia["post_tipo_garantia"]."<br>";
        echo "\t-> ".$garantia["post_valor_garantia"]."<br>";
        echo "\t-> ".$garantia["post_garantia_desc"]."<br>";
        echo "\t-> ".$garantia["post_garantia_obs"]."<br>";
        
        // insert into garantia() VALUES(...)
    }
}

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.