While dentro de outro, quando e como fazer?
um pouco dificil para meu entendimento, mas quando fazer um while dentro de outro?(melhor pratica) e como fazer?
Mauricio Padua
Curtidas 0
Melhor post
Eduardo Silva
24/06/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 :)
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 :)
GOSTEI 3
Mais Respostas
Lucas Burg
17/05/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ç.
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ç.
GOSTEI 0
Mauricio Padua
17/05/2014
certo, mas poderia me dizer uma funcionalidade em que é utilizado? qualquer exemplo.
GOSTEI 0
Marcio Araujo
17/05/2014
pense da seguinte forma, se existir alguma funcionalidade que dependa da outra, um while dentro de outro.
GOSTEI 0
Mauricio Padua
17/05/2014
certo Marcio, se abstrair as vezes não é facil.
GOSTEI 0
Marisiana Battistella
17/05/2014
Um exemplo que pode ser "mais comum" é a utilização de laços de repetição para popular arrays (matrizes).
GOSTEI 0
Mauricio Padua
17/05/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?
GOSTEI 0
Marisiana Battistella
17/05/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...
Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...
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...
GOSTEI 0
William
17/05/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.
GOSTEI 0
Eduardo Silva
17/05/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
$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
GOSTEI 1
Lucas Rocha
17/05/2014
Outra função é de extrair dados de um DB..
<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>
GOSTEI 0
Mauricio Padua
17/05/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...
Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...
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.
GOSTEI 0
Mauricio Padua
17/05/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?
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?
GOSTEI 0
Marisiana Battistella
17/05/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...
Citei esse, pois arrays aprende-se em lógica de programação então, achei que facilitaria o entendimento...
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! =)
GOSTEI 0
Mauricio Padua
17/05/2014
100% entendido!!! show!!!
GOSTEI 1
William
17/05/2014
Finalizando tópico!
GOSTEI 0