Smarty Forum Index Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon.

loop dentro de loop

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: Portuguese
View previous topic :: View next topic  
Author Message
evandrOliveira
Smarty n00b


Joined: 28 May 2008
Posts: 1

PostPosted: Wed May 28, 2008 4:19 am    Post subject: loop dentro de loop Reply with quote

Olá tudo bem.
Estou com a seguinte questão. Possuo duas tabelas

categoria = possui categorias existentes
receitas = possui as receitas e indica a categoria a qual pertencem

Quero consultar uma lista que mostre somente as categorias q possuem receitas, e imprima estas receitas. Então tenho um código da seguinte maneira.
Abaixo colocarei uma situação semelhante da q estou buscando a solução, pois imagino q colocando o código original só irar confundir por ser só objetos de classes.

A situação seria a seguinte.
//Ele busca todas categorias existentes
$query = mysql_query("SELECT * FROM categorias");
$rows = mysql_num_rows($query);

//Cria um laço para tratar as categorias
for($i = 0; $i < $rows ; $i++)
{
$categoria = mysql_result($query,$i,"categoriaNome");
//Verifica se existe receita nesta categoria
if($query = mysql_query("SELECT categoria FROM receitas WHERE categoria = $categoria)
{
//Caso possui receita com esta categoria cria variavel da categoria e imprimi as receitas desta categoria.
$categoriaNome[] = mysql_result($query,$i,"categoriaNome");
$query2 = mysql_query("SELECT * FROM receitas WHERE categoria = $categoria)
$row2 = mysql_num_rows($query2);
//Cria um laço para as receitas da atual categoria do primeiro laço
for($j = 0; $j < $row2 ; $j++)
{
$receitaNome [] = mysql_result($query2,$j,"receitaNome");
}
}
}


Não corriji o código quero passar a idéia, espero q alguem possa me ajudar. Pois no primeiro loop ele consulta todas categria e dentro deste loop em cada categoria ele faz outro loop para pegar receitas desta categoria. Se eu colocar um print só na frente das variáveis categoria e receita blz é oq quero, mas quero saber como vou passar esse loop pro smarty.

De maneira q

CATEGORIA 1
- receita categoria 1
- receita categoria 1

CATEGORIA 2
-receita categoria 2
-receita categoria2

de maneira q ele faça o loop em ordem, da categoria e dentro dela outro loop com as receitas desta categoria.

dificil alguem responder ou entender. mas fico grato se puderem ajudar.
Back to top
View user's profile Send private message
migas
Smarty Regular


Joined: 07 Apr 2004
Posts: 73
Location: Porto, Portugal

PostPosted: Thu Jun 12, 2008 11:00 am    Post subject: Reply with quote

Total Receitas nas categorias.


Code:

$sql="
SELECT *, COUNT(categoria) AS receitas_total FROM categorias
LEFT JOIN receitas  ON categoriaNome = categoria
GROUP BY categoria
";



Tens em [receitas_total] o número de receitas que existem.
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Smarty Forum Index -> Language: Portuguese All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP