Y cual es la ayuda que necesitas? El código esta bien y cumple con el objetivo... además es lo que se hace si se necesita hacer eso. Tal vez se pueda cambiar algo para hacer un poco mas "elegante" o menos "cargado" pero la idea es esa y anda.
Si quieres una forma diferente de hacerlo lo puedes hacer así:
Código PHP:
$a .= $_GET['orden'] == 'asc' ? " order by aviso_fecha asc" : " order by aviso_fecha desc";
Saludos.
PD: Ahora que vuelvo a leer el post tienes un error enorme!. No puedes poner condicionales donde solo debes enviar parámetros a una función. Lo que debes hacer es ir formando la consulta (el string) antes de enviarla y una vez que ya esta formada enviarla a la función.