Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi pessoal.
Estou batendo cabeça por algo que acredito que possa ser simples, mas está complicado o raciocínio.
Dentro de um laço de repetição com 5 elementos, preciso que cada elemento receba um número, exemplo:
<div id="w2">1</div>
<div id="w3">2</div>
<div id="w1">3</div>
<div id="w1">4</div>
<div id="w4">5</div>
<!--fim bloco 1-->
<div id="w2">6</div>
<div id="w3">7</div>
<div id="w1">8</div>
<div id="w1">9</div>
<div id="w4">10</div>
<!--fim bloco 2-->Beleza, usei id apenas para exemplo, no meu caso real é um class. Sobre o for, eu usei mas a cada 5 elementos ele não fica sequencial como deveria no exemplo
<?php
for ($i=1; $i <= 10 ; $i++) {
printf("<div id=\"w%d\">%d</div>\n", $i, $i);
if($i==5 || $i==10){
$bl = $i/5;
echo "<!--fim bloco $bl-->\n";
}
}
Saída:
<div id="w1">1</div>
<div id="w2">2</div>
<div id="w3">3</div>
<div id="w4">4</div>
<div id="w5">5</div>
<!--fim bloco 1-->
<div id="w6">6</div>
<div id="w7">7</div>
<div id="w8">8</div>
<div id="w9">9</div>
<div id="w10">10</div>
<!--fim bloco 2-->Uma pequena alteração no codigo do Williams:
for ($i=1; $i <= 30 ; $i++) {
printf("<div id=\"w%d\">%d</div>\n", $i, $i);
if($i > 0 && $i % 5 == 0){
$bl = $i/5;
echo "<!--fim bloco $bl-->\n";
}
}
Assim, se ele decidir colocar mais itens, já vai estar ok ;)
Show de bola, porém tem um ponto importante ainda. No meu caso real, ao invés de id uso uma class onde o resultado deve ser:
<div class="w2">1</div>
<div class="w3">2</div>
<div class="w1">3</div>
<div class="w1">4</div>
<div class="w4">5</div>
<!--fim bloco 1-->
<div class="w2">6</div>
<div class="w3">7</div>
<div class="w1">8</div>
<div class="w1">9</div>
<div class="w4">10</div>
<!--fim bloco 2-->Pessoal.
Me surgiu um problema parecido, preciso listar imagens que serão exibidas em formato revista, portanto a página par deve ficar a esquerda e a ímpar a direita, porém ele me imprimi a mesma página em ambos os lados.
for ($i=1; $i<=84; $i++)
{
$foto = $i;
printf("
<div class=\"bb-item\">
<div class=\"bb-custom-firstpage\">
<img src=\"".$foto."\" class=\"imgLeft\" alt=\"%d\" />
</div>
<div class=\"bb-custom-side\">
<img src=\"".$foto."\" class=\"imgRight\" alt=\"%d\" />
</div>
</div>
", $i, $i++);
}
use for
Lembrando que id de html tem que ser única ;)