Sorting the Easy Way
(Page 1 of 5 )
I bet most of us have developed an application where a list of products were retrieved from a database and shown in a table with their name, price and code. So we placed a cute little icon near each column's header that linked to the search page with a flag in the URL to let it know we wanted the results ordered by name or price. The search script kindly did its job, adding the ORDER BY clause, and the ordered results were shown to the user. Obviously this method works, but there is a problem: Why must we bother the server again to retrieve the same results that are now held in the browser, only in a different order? This article will show you the quickest way to order your database results, via JavaScript, with some work in PHP.
The Test Scenario
First of all, we'll create a products table in our MySQL test database and insert some records into it:
CREATE TABLE products
(
ID smallint(5) unsigned NOT NULL auto_increment,
NAME varchar(125) NOT NULL default '',
PRICE float(8,2) NOT NULL default '0.00',
CODE varchar(10) NOT NULL default '',
WEIGHT smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (ID)
) TYPE=MyISAM;
INSERT INTO products VALUES (1, 'Absolute Delight', '2.20', '59', 50);
INSERT INTO products VALUES (2, 'Aqua Mirabilis', '2.35', '114', 15);
INSERT INTO products VALUES (3, 'Back For Breakfast', '8.30', '1409', 500);
INSERT INTO products VALUES (4, 'Breeze on a Sea Air', '5.95', '223', 75);
INSERT INTO products VALUES (5, 'Figs and Leaves', '3.90', '22819', 100);
INSERT INTO products VALUES (6, 'I love Juicy', '5.95', '2006', 250);
INSERT INTO products VALUES (7, 'Ocean Salt', '9.75', '2128', 150);
INSERT INTO products VALUES (8, 'Serenity', '49.95', '2083', 350);
INSERT INTO products VALUES (9, 'Tisty Tosty', '2.35', '5', 60);
INSERT INTO products VALUES (10, 'Waving Not Drowning', '1.95', '15', 40);
If nothing went wrong we should have our products table with 10 records. Roll up your sleeves; we are now ready to jump into the actual code!
Next: The Basic Code >>
More JavaScript Articles
More By Alf A. Pedersen