If you are using an SQL database in your backend server system you can easily archive that with using different database queries. On your table buttons will call the different quires and your data will come back sorted.
for example you could do something like
select * from websites order by rank;
which will return all the db entries sorted by the value on column rank
for a guide on php database handling you can look here
personally I use displayTag as my main table handling component but it is for java-based web applications.
Website creation guides