--- ajaxtable.module.orig 2008-01-04 12:06:55.000000000 -0600 +++ ajaxtable.module 2008-01-04 12:20:59.000000000 -0600 @@ -268,7 +268,11 @@ function _ajaxtable_render($table,$id,$u } else { $connect = ' WHERE '; } - $table['query'] .= $connect . $search_query; + if (strpos($table['query'], "ORDER BY")) { + $table['query'] = str_replace('ORDER BY ', $connect . $search_query.' ORDER BY ', $table['query']); + }else { + $table['query'] .= $connect . $search_query; + } } } @@ -304,7 +308,11 @@ function _ajaxtable_render($table,$id,$u } else { $connect = ' WHERE '; } - $table['query'] .= $connect . $search_inputs_query; + if (strpos($table['query'], "ORDER BY")) { + $table['query'] = str_replace('ORDER BY ', $connect . $search_inputs_query.' ORDER BY ', $table['query']); + }else { + $table['query'] .= $connect . $search_inputs_query; + } } @@ -317,7 +325,11 @@ function _ajaxtable_render($table,$id,$u } else { $connect = ' WHERE '; } - $table['query'] .= $connect . $input_query; + if (strpos($table['query'], "ORDER BY")) { + $table['query'] = str_replace('ORDER BY ', $connect . $inputs_query.' ORDER BY ', $table['query']); + }else { + $table['query'] .= $connect . $inputs_query; + } $search_values[] = $input_value; } @@ -640,7 +652,11 @@ function _ajaxtable_render($table,$id,$u // Add sort to query if ($sort != '') { - $table['query'] .= ' ORDER BY ' . $sort; + if (strpos($table['query'], "ORDER BY")) { + $table['query'] = str_replace('ORDER BY ', 'ORDER BY '.$sort.', ', $table['query']); + }else { + $table['query'] .= ' ORDER BY ' . $sort; + } } // Get rows