Ir para conteúdo

POWERED BY:

Arquivado

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

Jhon Paulo

exibir as 3 últimas linhas da consulta sql

Recommended Posts

Olá, fiz um sistema pra exibir os comentários do meu site e ta exibindo certinho e tals...

meu problema é quando existem, por exemplo, 20 comentários: aí o usuário clica em comentar, daí carrega todos os 20 comentários na página - causando um certo desconforto visual, quanto usual.

Eu gostaria de fazer igual o do facebook, em que aparece um determinado número de resultados(no meu caso as 3 últimas).

 

minha consulta:

$sql_comentarios = mysql_query("SELECT c.comentario, c.id, c.data, u.nome, u.foto FROM comentario as c INNER JOIN usuario as u ON  c.id_usuario = u.id WHERE id_catalogo = $id_catalogo"); //gostaria que nessa linha pegasse apenas os 3 últimos resultados

 

pra exibir na página uso ajax e na pagina php uso a linha de código pra exibir a consulta

While($arr_comentario = mysql_fetch_array($sql_comentarios)) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

de um ORDER BY data e um LIMIT 3

 

SELECT c.comentario, c.id, c.data, u.nome, u.foto FROM comentario as c
INNER JOIN usuario as u ON  c.id_usuario = u.id
WHERE id_catalogo = $id_catalogo ORDER BY c.data DESC LIMIT 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma seleção para pegar os 3 últimos e outra pra ordenar

 

SELECT *
FROM (
   SELECT *
   FROM `table`
   ORDER BY `id` DESC
   LIMIT 3
) AS t
ORDER BY `id` ASC

 

 

Olá, fiz um sistema pra exibir os comentários do meu site e ta exibindo certinho e tals...

meu problema é quando existem, por exemplo, 20 comentários: aí o usuário clica em comentar, daí carrega todos os 20 comentários na página - causando um certo desconforto visual, quanto usual.

Eu gostaria de fazer igual o do facebook, em que aparece um determinado número de resultados(no meu caso as 3 últimas).

 

minha consulta:

$sql_comentarios = mysql_query("SELECT c.comentario, c.id, c.data, u.nome, u.foto FROM comentario as c INNER JOIN usuario as u ON  c.id_usuario = u.id WHERE id_catalogo = $id_catalogo"); //gostaria que nessa linha pegasse apenas os 3 últimos resultados

 

pra exibir na página uso ajax e na pagina php uso a linha de código pra exibir a consulta

While($arr_comentario = mysql_fetch_array($sql_comentarios)) {

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq a subconsulta? n entendi

Compartilhar este post


Link para o post
Compartilhar em outros sites

Denilson Telaroli, muito boa a sua sacada (duas consultas)..

deu certinho!

eu tinha feito como você fez, mas sem 'duas consultas' daí ficava desordenado rs... - eu nem sabia que dava pra fazer isso rsrs

 

resultado final:

$sql_comentarios = mysql_query("SELECT * FROM (SELECT c.comentario, c.id, c.data, u.nome, u.foto FROM comentario as c INNER JOIN usuario as u ON  c.id_usuario = u.id WHERE id_catalogo = $id_catalogo ORDER BY c.id DESC LIMIT 3) AS t ORDER BY id ASC");

Obrigado.

 

shini, a subconsulta serve pra colocar em ordem os resultados.

quando pega as consultas na ordem DECRESCENTE, o último comentário fica na parte de cima.. daí a subconsulta coloca o último comentário na parte de baixo..

obrigado aos 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

entendi, valeu

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.