Probably I wouldn't load all the data from the database at once, but only the data needed to fill a particular page, for performance reasons.
On the backend side, you can do that with MySQL queries (I guess you would use MySQL) like:
SELECT fields FROM tables WHERE condition LIMIT numItemsPerPage OFFSET pageStartPosition
numItemsPerPage gives the number of itens per page and
pageStartPosition gives the start position of the items at that page (=
numItemsPerPage * (pageNumber - 1), assuming you start from page 1). Then you would sent this data to the page after an AJAX request for the data of page