Prova a mandare in echo le variabili e vedere quale delle tante ritorna.
Codice PHP:
if (isSet($ordina_ricerca)) {
echo "1° Controllo OK
";
}
if (!empty($ordina_ricerca)) {
echo "2° Controllo OK
";
}
if (isSet($ordina_ascdesc)) {
echo "3° Controllo OK
";
}
if (!empty($ordina_ascdesc)){
echo "4° Controllo OK
";
}
exit;
/*
Piazza questo codice prima del tuo script
e vedi quale dei tanti da un risultato.
Visto che il tuo if è composto di OR, vuol dire
che almeno uno dei controlli è TRUE
*/
Male che ti va, prova ad invertire l'IF nel seguente modo.
Codice PHP:
if (!isset($ordina_ricerca) || empty($ordina_ricerca) || !isset($ordina_ascdesc) || empty($ordina_ascdesc)){
$query = "SELECT * FROM #__autoexp_add WHERE published = '1'";
}else{
switch ($ordina_ricerca) {
case 1:
$query ="SELECT * FROM #__autoexp_mark INNER JOIN #__autoexp_add ON #__autoexp_add.mark_id=#__autoexp_mark.id WHERE #__autoexp_add.published = '1' ";
break;
}
}