OK puedes hacer que al seleccionar la opcion de la lista desplegable envies una variable por url y con un condicional completas la cadena sql para ordenar segun lo que quieras.
Código PHP:
$sql = "SELECT * FROM ..... ORDER BY ";
if ($_GET['opc']==1){
$sql .= "precio ASC";
}
if ($_GET['opc']==2){
$sql .= "precio DESC";
}
if ($_GET['opc']==3){
$sql .= "publicacion ASC";
}
etc etc etc
Si no quieres enviar la opcion por url, lo haces con un llamado a una funcion javaScript.