Couple of things:
$order = "$_GET[order]" ;
The above code snippet is incorrect in syntax. See the man page for what a [man]string[/man] is, and, more specifically, how to reference array indeces.
Secondly, why not just do this:
$sort_abc = strtoupper(@$_GET['order']);
if($sort_abc != 'ASC' && $sort_abc == 'DESC')
$sort_abc = NULL; // you can use NULL & let MySQL sort, or put a default value here
$result = mysql_query("SELECT * from `$mysql_table` where `category` = '$category' ORDER BY `$sort_column` $sort_abc");
EDIT: Also, what exactly is your problem? Is it not sorting? Are you getting error messages? Did you check for MySQL errors?