Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, estou com um probleminha aqui, preciso montar o seguinte array que acredito q seja tridimensional
$m = array( "Relogio" => array("Fornecedor" => "RENATO MUNIZ", "Valor" => "34.00"),
=> array("Fornecedor" => "CLEBER" , "Valor" => "54.00"),
"Canela" => array("Fornecedor" => "JORDAO PEREZ", "Valor" => "45.00"),
"Monitor" => array("Fornecedor" => "MERCIA MARIA", "Valor" => "27.00"),
=> array("Fornecedor" => "PEDRO" , "Valor" => "17.00")
)
sei que assim é possivel!!
$m = array("Fulano" => array("rg" => "00.000.000-1", "cpf" => "000.000.000-01"),
"Ciclano" => array("rg" => "10.100.100-X", "cpf" => "100.100.100-01"),
"Beltrano" => array("rg" => "11.111.111-1", "cpf" => "111.111.111-01"));
porem só tem um registro por matriz (fulano, clicano...), eu gostaria de adicionar 2,3,4,5... registros por
matriz principal do array!!
Observe que para o produto relogio eu tenho 2 fornecedores Renato E Cleber, o produto MONITOR da mesma forma 2 fonecedores.
a primeira bronca seria montar o array dessa forma citado.
a segunda bronca seria montar ele dinamicamente, dependendo do retorno da consulta no DB que já esta pronta,
segue a consulta:
PRODUTO------------------ VALOR--------------FORNECEDOR---------
----------------------------------------------------------------
Caixa de Som ------------ 45.00--------------Avip Multimídia
Monitor 17---------------270.00--------------Nagem Informática
Nintendo 3ds-------------175.00--------------Info Box
Nintendo 3ds-------------180.00--------------Nagem Informática
TV 32-------------------1320.00--------------Magazine Novo Lar
Zend Framework e DOJO-----87.00--------------Livraria Cultura
observe tbem que a tabela está ordenada por nome do produto para poder unir as repetições do mesmo produto que no caso é o (Nintendo 3ds) esse produto será a matriz do array e os fornecedores (Infobox e nagem) serão os registros:
no caso então:
$m = array( "Nitendo 3ds" => array("Fornecedor" => "INFOBOX" , "Valor" => "175.00"),
=> array("Fornecedor" => "NAGEM" , "Valor" => "180.00"),
"Caixa de Som" => array("Fornecedor" => "AVIP MULT" , "Valor" => "45.00"),
"Monitor 17" => array("Fornecedor" => "NAGEM" , "Valor" => "270.00")
)
1 pra vários!!!!
como eu montaria o array dando um foreach na tabela???
a lógica poderia ser nesse caminho::?
$nome_produto = '';
foreach ($rows as $produtos)
{
if($nome_produto != $produtos['nome'])
{
$nome_produto = $produtos['nome']);
// Montar Matriz do array!!
$m = array( $nome_produto => array("Fornecedor" => $produtos['nomefornece'], "Valor" => $produtos['valor']),
}else {
// mesmo produto adiciono um registro no array
$m = array( $nome_produto => array("Fornecedor" => $produtos['nomefornece'], "Valor" =>$produtos['valor']),
}
}
o problema ai é que nao consegui concatenar uma string pra simular a criação do array numa classe ZEND que extend
Zend_Controller_Action
exemplo:
for{
se primeiro
$array = $array .= '=>MATRIZ ...
SE NAO
$array = $array .= '=>REGISTRO NO ARRAY ...
END
tem algum jeito?? :D
Espero ter sido claro e objetivo :D/
e já agradeço a atenção de todos..!!!
obg.
>
Onde essas dados estão armazenados. Se vofr num banco de dados, o que é quase certo que sim, poste a estrutura pois, dependendo do caso, alterando ligeiramente o banco, você faz com o mínimo de intervenção do PHP, por ajustar suas queries.
Se não for um banco de dados, mostre de onde eles (os dados) vêm.
OK, aquele resultado da consulta que mostrei anteriormente consiste em 3 tabelas por enquanto, que são:
vou resumir bem
Produtos
ID NOME
Fornecedores
ID NOME
Vendas (PRODUTOS VENDIDOS POR FORNECEDOR)
ID - PRODUTO - FORNECEDOR - VALOR
E dessa forma que faço o junção:
SELECT "produtos"."id",
"produtos"."nome",
"vendas"."valor",
"fornecedor"."nome" AS "nomefornece"
FROM "produtos"
INNER JOIN "vendas" ON vendas.produto = produtos.id
INNER JOIN "fornecedor" ON fornecedor.id = vendas.fornecedor
ORDER BY "nome" ASC, "valor" ASC
que me dá esse resultado!!
PRODUTO------------------ VALOR--------------FORNECEDOR---------
----------------------------------------------------------------
Caixa de Som ------------ 45.00--------------Avip Multimídia
Monitor 17---------------270.00--------------Nagem Informática
Nintendo 3ds-------------175.00--------------Info Box
Nintendo 3ds-------------180.00--------------Nagem Informática
TV 32-------------------1320.00--------------Magazine Novo Lar
Zend Framework e DOJO-----87.00--------------Livraria Cultura
na verdade é como se eu quisesse fazer um relatório header-detalhe
tipo:
PRODUTO 1
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
PRODUTO 2
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
PRODUTO 3
xxxxxXxxxxXxxxxXxxxxX 10.000
PRODUTO 4
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
xxxxxXxxxxXxxxxXxxxxX 10.000
só que preciso guardar numa array pra depois utiliza-lo!
Obrigado pela atenção se precisar de mais informações estou aqui,
obg at+
Onde essas dados estão armazenados. Se vofr num banco de dados, o que é quase certo que sim, poste a estrutura pois, dependendo do caso, alterando ligeiramente o banco, você faz com o mínimo de intervenção do PHP, por ajustar suas queries.
Se não for um banco de dados, mostre de onde eles (os dados) vêm.