Benvenuto.
Per l'ordine dei post: quando salvi i post nel db, memorizza anche il timestamp in cui è avvenuto l'inserimento, in pratica un campo nel db (diciamo che si chiama inserimento) in cui salvi ciò che restituisce la funzione time(), in alternativa, se vuoi che data e orario siano direttamente leggibili, salvali in un campo datetime nel formato "yyyy-mm-dd hh:mm:ss".
Fatto questo, nello script che recupera i post da mostrare, basta che nella query SELECT indichi "ORDER BY inserimento DESC"

Per il mostrare un tot di messaggi per pagina, quello che stai cercando è la paginazione.