1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Duvida <br/> em While - PHP

Discussão em 'Web Development' iniciada por nopaysoft, 23 de Julho de 2008. (Respostas: 4; Visualizações: 657)

  1. nopaysoft

    nopaysoft Power Member

    Boas,

    Desta feita necessito de ajuda.

    O código que vou usar aqui é meramente um exemplo daquele que na realidade uso e que se traduz apenas por ser mais fácil.

    Tenho isto:
    PHP:
     while ($i 6) {
         echo 
    "ola";
    $i++;
     }
    E queria definir um limite por exemplo 2 antes de adicionar uma <br/>

    Basicamente:
    PHP:
     while ($i 6) {
         echo 
    "ola";
    quando o $i for 24  ou 6 
    echo "<br/>";
    $i++;
     }
    O meu problema é em traduzir o:
    quando o $i for 2, 4 ou 6
    para código porque o intervalo pode ser variavel. Alguem pode definir de 2 em 2 como pode definir de 3 em 3!
    Seria basicamente um loop dentro deste loop que dissesse que sempre que fazia echo X vezes ele adicionava o "<br/>"

    Qualquer coisa como esta, que não funciona :lol:

    PHP:
     while ($i 6) {
         echo 
    "ola";
    if ((
    $i == 2)||($i == 4)||($ == 6)) {
    echo 
    "<br/>";
    }
    $i++;
     }
    Penso que não funciona por vários motivos entre eles o facto de eu usar uma loop dentro de outra.
    mas basicamente eu a ler este codigo seria.
    Enquanto o $i for menor que 6 fazer echo de "ola".
    Se o $i for igual a 2 ou 4 ou 6 fazer echo de "<br/>"

    Surgem então os problemas:
    1 - Não posso usar isto porque não funciona
    2 - Não posso usar porque o 2 / 4 /6 pode ser 3 / 3 ou outro valor qualquer pelo que precisa de ser definido por uma variavel.

    Espero ter explicado bem o que quero:
    Quero que a cada X echos de "ola" ele echo "<br/>"

    Thanks.
     
  2. AliFromCairo

    AliFromCairo Power Member

    Boas, podes utilizar o operador de resto da divisão inteira (%). Por exemplo, se X = 20, e supondo que o teu ciclo vai de 0 a 100, terias que ter a condição (i % 20 == 0), sendo que neste caso, só iria fazer echo do <br /> quando i fosse igual a 0, 20, 40, 60, 80 ou 100.

    Espero que ajude.
     
  3. nopaysoft

    nopaysoft Power Member

    PHP:
    while ($i 100) {
       echo 
    "ola";        
    $i++;  
    if (
    $i 20 == 0) {
        echo 
    "<br/>";
    }

    }
    MUitiiisssiiimo Obrigado ! ;)
     
    Última edição: 23 de Julho de 2008
  4. AliFromCairo

    AliFromCairo Power Member

    Hmm, não é bem isso. Ao invés do while que colocaste e que testa a condição que coloquei acima, precisas de um if. Nesse caso, só vai executar quando tu queres.

    Código:
    [COLOR=#000000][COLOR=#0000bb][/COLOR][FONT=Courier New][COLOR=#007700]while ([/COLOR][COLOR=#0000bb]$i [/COLOR][COLOR=#007700]< [/COLOR][COLOR=#0000bb]100[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]) {
         echo [/COLOR][COLOR=#dd0000]"ola"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700];
         if ([/COLOR][COLOR=#0000bb]$i [/COLOR][COLOR=#007700]% [/COLOR][COLOR=#0000bb]20 [/COLOR][COLOR=#007700]== [/COLOR][COLOR=#0000bb]0[/COLOR][/FONT][FONT=Courier New][COLOR=#007700]) {
              echo [/COLOR][COLOR=#dd0000]"<br/>"[/COLOR][/FONT][FONT=Courier New][COLOR=#007700];
         }
    [/COLOR][COLOR=#0000bb]     $i[/COLOR][/FONT][COLOR=#007700][FONT=Courier New]++;
    }  [/FONT][/COLOR][/COLOR]
    
     
  5. nopaysoft

    nopaysoft Power Member

    Sim eu corrigi o erro logo de seguida! Era mesmo isso!

    Obrigado!
     

Partilhar esta Página