[eluser]Alex007[/eluser]
It's a pretty common way of doing a search script, when a user submits a search, you store the results in a table, along with a unique search ID.
That way, when the use goes back and forth in your search results pages, there's no load on the database, you just return a different range of the already-known results.
Otherwise that would mean you'd have to search again everytime, and discard the first x results according to the current page.
From time to time you clean up the old search results, with a CRON job or as a part of your search script.