Ir para conteúdo

POWERED BY:

Arquivado

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

João Gabriel G.

[Resolvido] Como saber se um registro do MySQL é o último

Recommended Posts

E aí mestres...beleza?

 

Estou com uma problema que, acredito eu, não seja muito difícil de resolver: tenho uma página em php que é a home do site, e nessa página são mostrados 3 subdestaques, como se fossem notícias. O último subdestaque obrigatoriamente precisa estar estilizado com uma determinada classe, por questões de layout. Como eu faria em php para identificar que um registro é o último retornado pelo MySQL (dentro do limit estabelecido, claro) e, se tal registro for o último eu printo no html o atributo "class", para estilizar aquele item?

 

Obs.: os 3 subdestaques são exibidos em <li>. Alguém se habilita aee? Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, como você disse não é muito difícil. Pegue um campo da tabela que seja único, tipo, que nenhum outro campo tenha(um exemplo pode ser o ID).

Uma solução é você fazer uma busca no mysql e pegar o último resultado. Depois você compara.

 

Veja:

 

$query = mysql_query("SELECT * FROM tabela WHERE 'atributos atributos' ORDER BY 'coluna' DESC LIMIT 1");
//Selecionar da tabela onde 'Atributos", ordenar pelo campo 'você ESCOLHE' na ordem DECRESCENTE(maior pro menor), com o LIMIT =1, mostrando só um resultado.

$row = mysql_fetch_assoc($query);

$comparacao = $row['coluna'];

Agora você pega esse resultado acima e compara com os seus outros dados.

 

if($dados == $comparacao) {
 //FORMATA DE UM JEITO 
}
else {
 //FORMATA DIFERENTE
}

 

Agora cara, se você tiver uma tabela do mysql com o atributo AUTO_INCREMENT, basta você utilizar a função MAX() no SQL que ele vai te retornar o maior valor do registro, o maior valor, no caso, é o que foi adicionado por último.

 

$query = mysql_query("SELECT MAX(colula) FROM tabela...");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vinícius, cheguei à conclusão que eu preciso chegar em um outro resultado. Preciso saber como faço para identificar o 3º registro retornado pela consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um contador, que inicia no 1. Quando for a 3 iteração, imprima a class que você quer. Algo assim...

 

$count = 1;
while($row = mysql_fetch_assoc($sql))
{
    if($count == 3) echo 'class="qualquercoisa"';
    $count++;
    // aqui dentro você coloca o código para exibição
}

Carlos Eduardo

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.