Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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)) {
Uma seleção para pegar os 3 últimos e outra pra ordenar
SELECT *
FROM (
SELECT *
FROM `table`
ORDER BY `id` DESC
LIMIT 3id 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)) {
pq a subconsulta? n entendi
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
entendi, valeu
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