Jump to content


Photo

Criando Array Multidimensional


  • Faça o login para participar
1 reply to this topic

#1 Inter4u

Inter4u

    Turista

  • Usuários
  • 38 posts
  • Sexo:Não informado

Posted 15/01/2008, 00:57

Pessoal, seguinte, preciso fazer um loop aninhado no smarty, até aí tudo blza, mas eu preciso gerar um array multidimensional pra isso, aí que começam os problemas.

Como vou fazer isso pois tenho que pesquisar em duas consultas ex.

Consulta 1:
<?php
$sql = mysql_query("SELECT id, nome FROM cliente");

while($rs = mysql_fetch_assoc($sql)){
	$result[] = $rs;
}

print_r($result); 
?>

Isso vai gerar um array mais ou menos assim:

Array
(
	[0] => Array
		(
			[id] => 1
			[nome] => Joao
		)

	[1] => Array
		(
			[id] => 2
			[nome] => Maria
		)

)

Tudo blza, mas n quero array simples, quero multidimensional, quero os dados de outra tabela que informam as compras deles

Consulta 2:
<?php
$sql = mysql_query("SELECT id, nome FROM cliente");

while($rs = mysql_fetch_assoc($sql)){
	$result[] = $rs;
	$sql2 = mysql_query("SELECT id_compra, id_cliente, compra FROM compras WHERE id_cliente=".$rs['id']));
				
	while($rs2 = mysql_fetch_assoc($sql2)){
		$result[] = $rs2;

	}					

}

print_r($result);
print_r($result2); 
?>

Isso vai gerar 2 arrays mais ou menos assim:

Array
(
	[0] => Array
		(
			[id] => 1
			[nome] => Joao
		)

	[1] => Array
		(
			[id] => 2
			[nome] => Maria
		)

)

Array
(
	[0] => Array
		(
			[id_compra] => 1
			[id_cliente] => 1
			[compra] => Garfo
		)

	[1] => Array
		(
			[id_compra] => 2
			[id_cliente] => 1
			[compra] => Facao
		)

	[2] => Array
		(
			[id_compra] => 3
			[id_cliente] => 2
			[compra] => Garfo
		)

	[3] => Array
		(
			[id_compra] => 4
			[id_cliente] => 2
			[compra] => Faca
		)

)

Deu pra entender, mas eu n quero 2 arrays separados, quero 1 só, multidimensional,
quando eu listar, quero que as compras apareçam como array de cada array cliente.

Quem poder me ajudar, pois preciso muito, isso é só a logica da coisa, tentei simplificar bastante

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 15/01/2008, 07:37

Tente isso aqui:

<?php

$sql = mysql_query("SELECT id, nome FROM cliente");

while( $rs = mysql_fetch_assoc($sql) )
{
	$sql2 = mysql_query("SELECT id_compra, id_cliente, compra FROM compras WHERE id_cliente=" . $rs['id']);
	
	$compras = array();
				
	while( $rs2 = mysql_fetch_assoc($sql2) )
	{
		$compras[] = $rs2;
	}					

	$rs['compras'] = $compras;

	$result[] = $rs;
}

print_r($result);

?>

Flws...
(ok2)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq