salve a tutti,
il codice in questione è questa
Codice PHP:
<!-- Scegli la materia -->
<?
//prelievo le scelte dell'utente
if(isset($_POST['materia_quiz'])){
    
$materia_quiz$_POST['materia_quiz'];
    }
if(isset(
$_POST['categoria_quiz'])){
    
$categoria_quiz$_POST['categoria_quiz'];
    }
?>
<form name="quiz_materia" action="" method="POST" >
<!-- SELECT DELLE MATERIE -->
<fieldset>
  <legend>Scegli la materia</legend>
<SELECT NAME="materia_quiz" onchange="this.form.submit()">

<OPTGROUP label="Materie">
<OPTION VALUE="Tutte le materie">Tutte le materie
<?
//creo la prima select con elenco materie e materia selezionata da utente
$materia_db$wpdb->get_results("SELECT * FROM avwp_quiz GROUP BY materia");
foreach(
$materia_db as $mat){
    
$materia$mat->materia;
        if(
$materia == $materia_quiz){?>
        <OPTION VALUE="<?echo $materia;?>" selected><?echo ucfirst($materia);
        
$disabled=1;
        }
        else{
?>
        <OPTION VALUE="<?echo $materia;?>"><?echo ucfirst($materia);
        }
}
?>
</OPTGROUP>
</SELECT>
</fieldset>
<!-- /SELECT DELLE MATERIE -->

<!-- SELECT DELLE CATEGORIE -->

<fieldset>
<legend>Scegli la categoria</legend>
<SELECT NAME="categoria_quiz" onchange="this.form.submit()" 
<?if($disabled!=1){
echo 
"disabled=\"disabled\"";
}
?>
>

<OPTGROUP label="Categorie">
<OPTION VALUE="Tutte le categorie">Tutte le categorie
<?


$categoria_db
$wpdb->get_results("SELECT * FROM avwp_quiz WHERE materia='$materia_quiz' GROUP BY speciale");

foreach(
$categoria_db as $spec){
    
$categoria$spec->speciale;
//verifico se categoria esiste

        
if(empty($categotia) AND $categoria !=""){
        if(
$categoria_quiz == $categoria){?>
        <OPTION VALUE="<?echo $categoria;?>" selected><?echo ucfirst($categoria);
        }
        else{
?>
        <OPTION VALUE="<?echo $categoria;?>"><?echo ucfirst($categoria);
        }
    }
}
?>
</OPTGROUP>
</SELECT>
</fieldset>
</form>
<!-- /Scegli la categoria-->
<?
// no selezione o tutte le materie
if(empty($materia_quiz) OR (isset($materia_quiz) AND $materia_quiz == 'Tutte le materie')){
$quiz_db$wpdb->get_results("SELECT * FROM avwp_quiz ORDER BY rand() LIMIT 10");
}
//seleziona materia e se è settata tutte le categorie
if((isset($materia_quiz) AND $materia_quiz != 'Tutte le materie') OR (isset($categoria_quiz) AND $categoria_quiz=='Tutte le categorie')){
$quiz_db$wpdb->get_results("SELECT * FROM avwp_quiz WHERE materia='$materia_quiz' ORDER BY rand() LIMIT 10");
}
//materia e categoria
if((isset($materia_quiz) AND $materia_quiz != 'Tutte le materie') AND (isset($categoria_quiz) AND $categoria_quiz !='Tutte le categorie')){
$quiz_db$wpdb->get_results("SELECT * FROM avwp_quiz WHERE (materia='$materia_quiz' AND speciale='$categoria_quiz')  ORDER BY rand() LIMIT 10");
}

?>
la pagina dove agisce è questa
http://atuttascienza.altervista.org/blog/quiz/

in pratica mi permette di selezionare la materia per i quiz sottostanti con eventualmente la categoria
funziona abbastanza bene ma ho trovato un problema

facendo un esempio
seleziono chimica e poi composti organici
se io vado a riselezionare la materia...scelgo per esempio biologia il secondo valore vorrei che tornasse come "tutte le categorie" e non che rimanga composti organici...come posso risolvere?