Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal do Fórum, tudo bom com vocês ?
Seguinte galera, estou passando uns dados via $_GET um deles é qtde_sabores
no url se encontra assim:
qtde_sabores=3
então fiz um while para enquanto esse GET tiver valor exibir os formulários.
o while fiz dessa forma.
while($_GET['qtde_sabores'] > ""){
echo "TESTE";
}
ao meu ver está certo, porém a página fica carregando um tempão, e quando termina ela me traz um monte de palavras "TESTE"
pq, se o que eu preciso seria só de 3 TESTE.
Não sei se me entenderam..
Se eu dou um echo nesse GET ele printa na tela o valor 3 mesmo.. isso significa que o get está sendo pego corretamente.
Alguém pode me ajudar como prosseguir ?
Valew pessoal.
abraços!
Boa tarde
a condição dentro do while sempre vai ser verdadeira e vai dá um loop eterno
while($_GET['qtde_sabores'] > ""){
echo "TESTE";
}
assim dará certo
$contador = 0;
while($_GET['qtde_sabores'] > $contador){
echo "TESTE";
$contador++;//incrementa
}
tenta com o loop for
http://www.php.net/manual/pt_BR/control-structures.for.php
for($i = 0; $i < $_GET['qtde_sbores']; $i++){
echo "TESTE";
}
ou foreach
http://www.php.net/manual/pt_BR/control-structures.foreach.php
então wolfphw valew pela resposta, mas o problema é que eu quero o tanto de palavras TESTE de acordo com o valor do qtde_sabores no caso acima seria 3.
então ele teria que escrever TRÊS vezes a palavra teste.
Olá Rob_Bor,
o while entra em loop infito, ou seja, enquanto a condição $_GET['qtde_sabores'] > "" for verdadeira o while continua a execução até ocorrer uma time out.
experimete fazer desta forma:
$cont = 0;
while($_GET['qtde_sabores'] > "" && $cont < 100){
echo "TESTE";
$cont++;
}
neste caso ficará dentro do laço (while) até que ocorra uma condição falsa forçada pelo valor $cont, para sair do loop. A condição será falsa quando $cont for maior ou igual a 100.
Espero ter ajudado...
Victor Cometti valew pela resposta... eu usei dessa forma..
$contador = 0;
while($_GET['qtde_sabores'] > $contador){
echo "TESTE";
$contador++;//incrementa
}
e deu certo... ele escreveu na tela a quantidade de sabores que tem.
Eu tinha tentado dessa forma com uma variável com o valor 0, mais esqueci de colocar o $contador++ dentro do while.
Pequei nisso..
mas é isso ae.. valew Victor e a galera que tentou aii.
Muito obrigado..
tópico Resolvido.
Abraços!
<?php
$_GET['qtde_sabores'] = 5; // nesse caso esse é o valor final . Nesse caso 5.
$inicio = '0'; // nesse caso, tem que ter um valor inicial.
while($inicio < $_GET['qtde_sabores']){ // enquanto 0 for menor que 5 faz a ação abaixo
echo "TESTE";
echo '<br>';
$inicio++; // nesse caso tem que aumentar 1 número no final do loop
}
echo '<br>';
echo "acabou"; // isso é só pra mostrar que o código abaixo só segue depois que terminar o while.
?>
Nesse seu caso você deve usar IF e nao WHILE... que ele esta fazendo o seguinte, eh uma condição de laço que procura um final e ele nunca acha, dai por isso ele escreve várias vezes a palavra TESTE...
você deve fazer o seguinte
nessa condição ele faz apenas 1 unica vez