Ir para conteúdo

POWERED BY:

Arquivado

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

Ericsson Berg

Montar um array objeto por string

Recommended Posts

Iai galera?!

Não achei uma solução viável para a seguinte situação:

Realizar uma consulta no Sql é com o resultado dela montar a parte de um array.

$sql = "
select * 
    from(
        select e.cod_empresa, e.nome empresa, e.apelido from empresas e
               where  e.status = 'S' and e.cod_empresa in (2,3,66,67)
        union all 
        select e.cod_empresa, e.nome empresa, e.apelido from empresas e
               where  e.status = 'S' and e.cod_empresa in (2,13)       
        union all 
        select e.cod_empresa, e.nome empresa, e.apelido from empresas e
               where e.status = 'S' and e.cod_empresa in (201)     
    ) e
    where   1 = 1
     --   ".$sql_complemento."
     
order by e.marca
    ";

$statement = oci_parse($conexao,$sql);
oci_execute($statement);
while ($row = oci_fetch_array($statement, OCI_ASSOC)){
   
    $nome_campo = $row['MARCA']."_".$row['APELIDO']; 
    $campos_array .= " ,'qtde_$nome_campo' => \$row['QTDE_$nome_campo'] 
                      ,'mdo_$nome_campo' => \$row['MDO_$nome_campo']  
                      ,'tm_$nome_campo' =>  \$row['TM_$nome_campo']   
            ";
  
}

O $campo_array sai como string e não funciona como completo deste outro array.

$x=0;
while ($row = oci_fetch_array($statement, OCI_ASSOC)){

      $dados[$x] = array( 
        "base"       => $row['BASE'], 
        "ano"           => $row['ANO'],       
        "mes_ano"      => $row['MES_ANO'],
        "mes_ano"      => $row['MES_ANO'],
        $campos_array          
      );

 $x++;    
}

Alguma solução para isso.

Isso por que eu quero montar um select dinâmico por meio de outra consulta sql.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o que você precisa fazer é algo assim:

cria a variável antes do while:

$campos_array = Array();

e no while:

$campos_array[$nome_campo] = Array(
    "qtde" => $row["QTDE_$nome_campo"],
    "mdo" => $row["MDO_$nome_campo"],
    "tm" =>  $row["TM_$nome_campo"]
);

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.