Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André 90

foreach: primeiro resultado

Recommended Posts

Boas.

Alguém me pode dar uma pequena ajuda?
É o seguinte,
eu preciso fazer uma consulta à base de dados, em que o primeiro registo terá de ter: class=x, por exemplo, e os seguintes registos class=2, class=3, class=4, etc.

Se alguém me poder ajudar, agradeço.

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu quero inserir as imagens em um slide pela base de dados.

Exemplo:

select * from imagens
...
...
foreach($img as $resimg){
<img src="" class="" />
}

Dentro da tag class, no primeiro registo vindo da base de dados quero que fique (activo).
A partir do segundo registo quero que fique:

<img src="" class="1" />

<img src="" class="2" />
<img src="" class="3" />

No fim ficaria:

<img src="" class="activo" />
<img src="" class="1" />
<img src="" class="2" />
<img src="" class="3" />

Entendeu?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta incluir um contador dentro do foreach, e quando ele for igual a 0 colocar a classe 'activo'.

 

 

$x = 0;

foreach($img as $resimg){

  if ($x == 0) {
    echo '<img src="" class="activo" />';

  }

  else {

    echo '<img src="" class="'.$x.'" />';

  }

  $x++;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta incluir um contador dentro do foreach, e quando ele for igual a 0 colocar a classe 'activo'.

 

Besteira fazer isso. Se é um array indexado é só usar a sintaxe completa do foreach:

 

 

foreach( $images as $idex => $image )[/code

Na primeira iteração $index valerá zero, depois um, dois, três...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tens nenhum exemplo um pouco mais completo. Para ver como posso fazer isso ?

 

Abraço

Cara...não tem muito o que dizer.

 

Faz o foreach normal.

 

Onde vc vai esxibir, utiliza o código que te passei.

 

$('div').find('img').eq(0).addClass('active');

 

a div do código é a div onde as imgs vão aparecer e img é a tag html img...traduzindo:

 

"Encontre na 'div' a primeira tag 'img' e coloque a classe 'active'.

 

Simples assim!!

Blz?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eduardo, ele quer fazer em PHP.

 

JavaScript (jQuery ) deve ser usada para enriquecer a experiência do usuário, não curar o câncer do site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eduardo, ele quer fazer em PHP.

 

JavaScript (jQuery ) deve ser usada para enriquecer a experiência do usuário, não curar o câncer do site.

Putz cara...blz.

Mas os dois casos funcionam perfeitamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Besteira fazer isso. Se é um array indexado é só usar a sintaxe completa do foreach:

 

 

foreach( $images as $idex => $image )[/code

Na primeira iteração $index valerá zero, depois um, dois, três...

 

É mesmo, é que eu fiz pensando de o índice não ser numérico, mas ele não falou nada sobre isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É mesmo, é que eu fiz pensando de o índice não ser numérico, mas ele não falou nada sobre isso.

 

Independente. Já que se está iterando de todo jeito, basta comparar o valor corrente com a chave do último elemento.

 

E para isso basta usar key() em conjunto com array_reverse() ou, se o array for grande (por questões de performance), sobre array_slice():

 

 

$data = array( 'um' => 1, 'dois' => 2, 'tres' => 3 );
 
var_dump( key( array_reverse( $data ) ) );
 
var_dump( key( array_slice( $data, -1 ) ) );

 

Em ambos os casos a saíde é tres.

 

Ah! E preferencialmente FORA do loop, assim executa uma vez só. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.