-
Problema con una query
Salve,
ho questa tabella:
id-commento-ora-postid
1-commento1-1370419340-1
2-commento2-1370419341-1
3-commento3-1370419342-1
4-commento4-1370419343-1
5-commento5-1370419344-1
6-commento6-1370419345-1
e questa query:
SELECT * FROM commenti WHERE postid = '1' ORDER BY ora ASC LIMIT 5
Ora, la query mi restituisce questo:
commento1
commento2
commento3
commento4
commento5
ma io vorrei:
commento2
commento3
commento4
commento5
commento6
un po come fa facebook in modo da inserire un link sopra i commenti per caricarne altri!
Spero di essermi spiegato bene
Grazie milla a tutti in anticipo
-
Potresti ordinarli in maniera decrescente e poi mostrarli in maniera "inversa" in modo da riportare l'ordine crescente voluto.
-
ciao, prima di tutto grazie per la risporta!
quindi dovrei cambiare la query in ORBER BY time DESC giusto?
per invertire i dati onestamente ho gia cercato su internet e provato un array_reverse ma non adava!
-
Senza contorsionismi, LIMIT può prendere due parametri: da quale riga iniziare e quante righe prendere. Se vuoi partire dalla seconda, usa LIMIT 2,5.
-
Si ho gia provato e funziona! Ma ovviamente il numero delle righe non è statico! Gli utenti possono aggiungere nuovi commenti! Dovrei contare prima con un'altra query quante righe ci sono? Grazie
-
Dubito tu li voglia tutti, ad un certo punto dovrai iniziare a paginare. Ma se proprio vuoi l'intera tabella eccetto il primo, invece di fare due query è più facile non visualizzare il primo elemento, o cancellarlo dall'array con unset.
-
Prova così:
SELECT * FROM (SELECT * FROM commenti
WHERE postid = '1' ORDER BY ora desc LIMIT 5
) b ORDER BY ora asc
Ciao
Mik