to get the total, rather than using count(*) use count(id). id being the column unique id.
displaying # to # is better in performance. but annoying for users as it doesn't give them an idea of how much further they have to go. if you know the total and the current range, you can group the results into pages of so many results. ie, click number 1 to see the first 10 results, click number 5 to see results 50 - 60, etc.