salve a tutti,
il codice in questione è questa
la pagina dove agisce è questaCodice 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");
}
?>
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?