Skip site navigation (1) Skip section navigation (2)

Re: sorting query results

From: "L(dot) Franklin" <lfranklin(at)lumatila(dot)com>
To: "'Piotr Mitoraj'" <piotr(dot)mitoraj(at)gmail(dot)com>,<pgsql-php(at)postgresql(dot)org>
Subject: Re: sorting query results
Date: 2009-04-18 14:40:34
Message-ID: 55C5FCC7F739418594160863C4FB589E@lukasswork (view raw or flat)
Thread:
Lists: pgsql-php
Piotr, 

-----Original Message-----
From: Piotr Mitoraj [mailto:piotr(dot)mitoraj(at)gmail(dot)com] 
Sent: Saturday, April 18, 2009 8:04 AM
To: pgsql-php(at)postgresql(dot)org
Subject: [PHP] sorting query results

Hi,
failing to find the straight-forward answer on the web I hope to find 
some advice in here.
I want to display the table fetched from the postgres database. The 
headers of the columns are links used to sort the data. Like the 
functionality you have on ebay when you sort according to price or time 
left. I recognized two ways of doing that:

1. Issue a new query to the database each time the specific sorting was 
requested. In other words, let the database do the sorting and fetch the 
results.

2. Save the table into php array and and use php built-in functions to 
sort and refresh the table.

Which of those methods would be most desired in terms of performance and 
according to "the best practices"?
What would be possible drawbacks/advantages of those methods.
-----------------------------------------

Assuming that you are displaying the entire result set in the browser at
once, I would strongly recommend doing the sorting in javascript in the
browser.  My personal favorite way of doing this is to use the jquery
javascript library coupled with the tablersorter plugin.  With these 2
libraries you can add sorting to your HTML table with a single line of
javascript code.

If you need to provide pagination through the resultset in your web page
then you need to use one of the 2 approaches you listed.  Using arrays and
keeping the data in php will be faster but you will be limited by php's
available memory as to the size of resultset that you can support this way,
so you will need to add some size checking to your resultset and disable the
php array method if it's too big.  The database query method will always
work regardless of result set size but will generally provide the slowest
results.

Lukass



In response to

pgsql-php by date

Next:From: Andrew McMillanDate: 2009-04-18 21:31:15
Subject: Re: sorting query results
Previous:From: Piotr MitorajDate: 2009-04-18 14:34:26
Subject: Re: sorting query results

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group