Ordinare i risultati di una query dalla fine della tabella

danielloantonio

Utente Attivo
20 Lug 2012
110
0
0
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 :D

Grazie milla a tutti in anticipo
 
Prova a ordinare in modo decrescente DESC.
Quindi sostituisci ASC con DESC
 
Ciao prima di tutto di ringraIo per la risposta!

Comunque già ho provato e ovviente mi da
Commento 6
Commento 5
.. E cosi via!
In effetti l'ordine "asc" a bene è solo che non prende gli ultimi elenti della tabella
 
Ciao prima di tutto di ringraIo per la risposta!

Comunque già ho provato e ovviente mi da
Commento 6
Commento 5
.. E cosi via!
In effetti l'ordine "asc" a bene è solo che non prende gli ultimi elenti della tabella



SELECT * FROM (SELECT * FROM commenti
WHERE postid = '1' ORDER BY ora desc LIMIT 5
) b ORDER BY ora asc

Ciao
Mik


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
Scusa per il disturbo ma se volessi aggiungere "HAVING id = max($ultimoid)" in un'altra pagina per caricare più commenti dovre dovrei posizionarlo? ho provato ma non ci sono riuscito!
 
Scusa per il disturbo ma se volessi aggiungere "HAVING id = max($ultimoid)" in un'altra pagina per caricare più commenti dovre dovrei posizionarlo? ho provato ma non ci sono riuscito!

Ciao,
cos'è "HAVING id = max($ultimoid)"??
Fai degli esempi del risultato che vuoi avere partendo dai dati che hai esposto nel primo post

Ciao
Mik


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
In pratica in una pagina io carico 5 commento e sopra questi commenti c'è un link ad una chiamata ajax che ne carica altri! Nella pagina chiamata con ajax devo inserire questa quey
SELECT * FROM (SELECT * FROM commenti WHERE postid = '1' ORDER BY ora DESC LIMIT 5) b ORDER BY ora ASC
ma che mi prenda solo i commenti precedenti a quelli gia presenti! quindi volevo inserire questo "having" pre farlo
 
In pratica in una pagina io carico 5 commento e sopra questi commenti c'è un link ad una chiamata ajax che ne carica altri! Nella pagina chiamata con ajax devo inserire questa quey
SELECT * FROM (SELECT * FROM commenti WHERE postid = '1' ORDER BY ora DESC LIMIT 5) b ORDER BY ora ASC
ma che mi prenda solo i commenti precedenti a quelli gia presenti! quindi volevo inserire questo "having" pre farlo


Ciao,
basta modificare la select inserendo il parametro V_Page dopo il LIMIT e valorizzandolo opportunamente seguendo questa formula

V_Page_int= 5*x-5;

dove x è il numero di pagina. Es: a pagina/ciclo 1 il risultato è 0, quindi LIMIT 0,5; a pagina/ciclo 2 il risultato è 5, quindi LIMIT 5,5; ecc; ecc;
In questo modo vengono visualizzati gli ultimi 5, i penultimi 5, ecc, ecc

SELECT * FROM (SELECT * FROM commenti
WHERE postid = '1' ORDER BY ora desc LIMIT V_Page,5
) b ORDER BY ora asc

Ciao
Mik


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
Ciao,
basta modificare la select inserendo il parametro V_Page dopo il LIMIT e valorizzandolo opportunamente seguendo questa formula

V_Page_int= 5*x-5;

dove x è il numero di pagina. Es: a pagina/ciclo 1 il risultato è 0, quindi LIMIT 0,5; a pagina/ciclo 2 il risultato è 5, quindi LIMIT 5,5; ecc; ecc;
In questo modo vengono visualizzati gli ultimi 5, i penultimi 5, ecc, ecc

SELECT * FROM (SELECT * FROM commenti
WHERE postid = '1' ORDER BY ora desc LIMIT V_Page,5
) b ORDER BY ora asc

Ciao
Mik

Ciao,
sei riuscito a verificare se la soluzione sopra esposta funziona??


A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 
Si il codice funziona e anche bene.. il fatto è che io voglio farlo inserendo l'id massimo dei commenti! Perche è possibile che mentre la pagina viene visualizzata vengono aggiunti nuovi commenti e quindi questo codice richiamerebbe uno o più commenti piu volte
 
Si il codice funziona e anche bene.. il fatto è che io voglio farlo inserendo l'id massimo dei commenti! Perche è possibile che mentre la pagina viene visualizzata vengono aggiunti nuovi commenti e quindi questo codice richiamerebbe uno o più commenti piu volte

Vabbhè.... prova un pò a manipolare il codice che ti ho fornito... Cerca di capire il funzionamente e adattarlo alle tue esigenze.

Ciao,
Mik



A quick solution is a shortcut to troubleshooting
HolidaySoft.it - Gestionali, Database, SitiWeb
GarganoSapori.it - Olio ExtraVergine del Gargano
OsteriaORistorante.it - Crea la Vetrina per il tuo Ristorante!
 

Discussioni simili