Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 3
            [id] => 483481
            [titulo] => While dentro de outro, quando e como fazer?
            [dataCadastro] => DateTime Object
                (
                    [date] => 2014-06-24 11:27:12
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 373253
            [status] => A
            [isExample] => 
            [NomeUsuario] => Eduardo Rocha da Silva
            [Apelido] => 
            [Foto] => 373253_20140612125525.jpg
            [Conteudo] => Mauricio Padua

Explicando no primeiro select

$queryEstado = mysql_query("SELECT idEstado FROM estado");

ele pega todos os estados e armazena na variável ------> $queryEstado

Quando eu jogo no segundo eu seleciono todas as cidades daquele estados, 1 a 1 utilizando o while para fazer o loop, ele só vai para o próximo estado após terminar todas as cidades.

WHILE($resEstado = mysql_fetch_array(--------> $queryEStado)){

//selecionando todas as cidades do primeiro estado
$queryCidade = mysql_query("SELECT NomeCidade FROM cidade WHERE estado_id_estado = '".$resEstado['idEstado']."'");

echo $resEstado["NomedoEstado"]."<br />"; // vai exibir o nome do estado

WHILE($resCidade = mysql_fetch_array($queryCidade)) {

echo $resCidade['NomeCidade']."<br />";

}

Assim quando executar vai exibir

Rio de janeiro

todas as cidades do rio de janeiro

São Paulo

todas as cidade de São Paulo

Espero ter ajudado, se entendeu da um joinha :) ) )

While dentro de outro, quando e como fazer?

PHP
Mauricio Padua
   - 17 mai 2014

um pouco dificil para meu entendimento, mas quando fazer um while dentro de outro?(melhor pratica) e como fazer?

Post mais votado

Eduardo Silva
   - 24 jun 2014

Mauricio Padua

Explicando no primeiro select

$queryEstado = mysql_query("SELECT idEstado FROM estado");

ele pega todos os estados e armazena na variável ------> $queryEstado

Quando eu jogo no segundo eu seleciono todas as cidades daquele estados, 1 a 1 utilizando o while para fazer o loop, ele só vai para o próximo estado após terminar todas as cidades.

WHILE($resEstado = mysql_fetch_array(--------> $queryEStado)){

//selecionando todas as cidades do primeiro estado
$queryCidade = mysql_query("SELECT NomeCidade FROM cidade WHERE estado_id_estado = '".$resEstado['idEstado']."'");

echo $resEstado["NomedoEstado"]."<br />"; // vai exibir o nome do estado

WHILE($resCidade = mysql_fetch_array($queryCidade)) {

echo $resCidade['NomeCidade']."<br />";

}

Assim quando executar vai exibir

Rio de janeiro

todas as cidades do rio de janeiro

São Paulo

todas as cidade de São Paulo

Espero ter ajudado, se entendeu da um joinha :)

3
|
0

Burg
   - 06 jun 2014

Boa noite,

O loop while e processado ate uma condição ser verdadeira ou falsa, sabendo disso pode realizar eles conforme sua necessidade(um dentro de outro ou fora).

exemplo :

$contador = 0;

while($contador < 10){

//Aqui vai o conteudo

}

abç.

0
|
0

Mauricio Padua
   - 07 jun 2014

certo, mas poderia me dizer uma funcionalidade em que é utilizado? qualquer exemplo.

0
|
0

Marcio Araujo
   - 08 jun 2014

pense da seguinte forma, se existir alguma funcionalidade que dependa da outra, um while dentro de outro.

0
|
0

Mauricio Padua
   - 19 jun 2014

certo Marcio, se abstrair as vezes não é facil.

0
|
0

Marisiana
   - 20 jun 2014

Um exemplo que pode ser "mais comum" é a utilização de laços de repetição para popular arrays (matrizes).

0
|
0

Mauricio Padua
   - 20 jun 2014

putz Marisiana, hehehe, fiquei confuso agora. mas popular arrays em um sistema "real", qual seria a finalidade, guardar dados por um tempo? a ideia é essa?

0
|
0

Marisiana
   - 22 jun 2014

É apenas um exemplo no qual se utiliza um laço de repetição dentro de outro, que responde a tua pergunta de abertura do tópico...

Citação:
um pouco dificil para meu entendimento, mas quando fazer um while dentro de outro?(melhor pratica) e como fazer?

Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...

0
|
0

William (devwilliam)
   - 24 jun 2014

Olá Mauricio, um exemplo simples de uso para 2 loops, tenho alguns sistemas em PHP que fazem importação de dados contidos em planilhas do excel para um determinado banco de dados, para isso tenho uma classe que entre outras funcionalidades possui um método que usa um loop para percorrer todas as linhas da planilha e dentro desse loop tem outro que percorre todas as colunas da linha que está sendo lida, funcionamento semelhante ao plano cartesiano.

0
|
0

Eduardo Silva
   - 24 jun 2014

Exemplo de while dentro de while.

$queryEstado = mysql_query("SELECT idEstado FROM estado");

WHILE($resEstado = mysql_fetch_array($queryEStado)){

$queryCidade = mysql_query("SELECT NomeCidade FROM cidade WHERE estado_id_estado = '".$resEstado['idEstado']."'");

WHILE($resCidade = mysql_fetch_array($queryCidade)) {

echo $resCidade['NomeCidade'];

} // PRIMEIRO WHILE
} // SEGUNDO WHILE

1
|
0

Lucas Rocha
|
MVP
    24 jun 2014

Outra função é de extrair dados de um DB..

#Código

	<html>
	<head>
	<title>Extraindo dados de um  Banco de Dados</title>
	</head>
	<body>

	<?php
	// Conexão com o Banco de Dados
	mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());

	// Seleciona o Banco de Dados
	mysql_select_db("mydatabase") or die(mysql_error());

	//query SQL
	$strSQL = "SELECT * FROM people";

	// Executa a query (o recordset $rs contém o resultado da query)
	$rs = mysql_query($strSQL);
	
	// Loop pelo recordset $rs
	// Cada linha vai para um array ($row) usando mysql_fetch_array
	while($row = mysql_fetch_array($rs)) {

	   // Escreve o valor da coluna FirstName (que está no array $row)
	  echo $row['FirstName'] . "<br />";

	  }

	// Encerra a conexão
	mysql_close();
	?>
	</body>
	</html>

0
|
0

Mauricio Padua
   - 24 jun 2014


Citação:
É apenas um exemplo no qual se utiliza um laço de repetição dentro de outro, que responde a tua pergunta de abertura do tópico...

Citação:
um pouco dificil para meu entendimento, mas quando fazer um while dentro de outro?(melhor pratica) e como fazer?

Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...


não esquenta, te agradeço
abraço.

0
|
0

Mauricio Padua
   - 24 jun 2014

Para o pessoal que me passou infos e codigos, agradeço mesmo.

Willian, notei algo a mais de programação e matematica pura na sua explicação, hehe, mas entendi.

Eduardo, entendi a base do codigo mas não entendi bem o que ele faz.

Lucas, ele extrai e imprime na tela, é isso?

0
|
0

Marisiana
   - 24 jun 2014


Citação:

Citação:
É apenas um exemplo no qual se utiliza um laço de repetição dentro de outro, que responde a tua pergunta de abertura do tópico...

Citação:
um pouco dificil para meu entendimento, mas quando fazer um while dentro de outro?(melhor pratica) e como fazer?

Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...


não esquenta, te agradeço
abraço.


Por nada! =)

0
|
0

Mauricio Padua
   - 24 jun 2014

100% entendido!!! show!!!

1
|
0

William (devwilliam)
   - 24 jun 2014

Finalizando tópico!

0
|
0