Ciao a tutti.
Ho un problema: sto costruendo un sistema di campi select che contiene valori della categoria del campo select precedente. Nel fare questo primo passaggio non ho problemi, i problemi li riscontro quando, per esempio, dopo aver già selezionato 3 campi, devo cambiare il valore del primo. Il problema è che una volta cambiato il primo gli altri campi tengono in selezione dei valori che non centrano più con la nuova selezione. Vi invio il codice per capire meglio:
Codice PHP:
<?
include "config.inc.php";
$Autore=$_POST['Autore'];
$Titolo=$_POST['Titolo'];
$Interpreti=$_POST['Interpreti'];
$Direttore=$_POST['Direttore'];
$SL=$_POST['SL'];
$Casadisc=$_POST['Casadisc'];
$Supporto=$_POST['Supporto'];
$Interpreti='';
$Commenti=$_POST['Commenti'];
$sql='SELECT DISTINCT Autore FROM Opere ORDER BY Autore';
$query=mysql_query ($sql,$opere) or die (mysql_error());
$sql2="SELECT DISTINCT Titolo,Autore FROM Opere WHERE Autore='$Autore'";
$query2 = mysql_query ($sql2,$opere) or die(mysql_error());
$sql3="SELECT DISTINCT Interpreti,Titolo,Autore FROM Opere WHERE Titolo='$Titolo'";
$query3 = mysql_query ($sql3,$opere) or die(mysql_error());
?>
.
.
.
<form name="form1" action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="Autore" onchange="document.form1.submit();">
<?
if ($Autore == ''){
?>
<option selected>Seleziona l'Autore</option>
<?
}
else{
?>
<option selected><?=$Autore?></option>
<?
}
while ($row = mysql_fetch_array($query)){
$Autore2 = $row['Autore'];
?>
<option value="<?=$Autore2?>"><?=$Autore2?></option>
<?
}
?>
</select>
<select name="Titolo" onchange="document.form1.submit();">
<?
if ($Titolo == ''){
?>
<option selected>Seleziona il Titolo</option>
<?
}
else{
?>
<option selected><?=$Titolo?></option>
<?
}
while ($row2 = mysql_fetch_array($query2)){
$Titolo2 = $row2['Titolo'];
?>
<option value="<?=$Titolo2?>"><?=$Titolo2?></option>
<?
}
?>
</select>
<select name="Interpreti">
<?
if ($Interpreti == ''){
?>
<option selected>Seleziona Interpreti</option>
<?
}
else{
?>
<option selected><?=$Interpreti?></option>
<?
}
while ($row3 = mysql_fetch_array($query3)){
$Interpreti2 = $row3['Interpreti'];
?>
<option value="<?=$Interpreti2?>"><?=$Interpreti2?></option>
<?
}
?>
</select>
</form>
All'inizio le variabili sono tutte vuote e quindi tutti i campi non hanno valore e presentano la scritta "Seleziona ....". Mi servirebbe fare che quando si riseleziona un campo tutti quelli che vengano dopo tornino ad avere come selected il campo "Seleziona ...". Come posso fare?
Spero di essermi spiegato ^^;
PS: chi avesse consigli per migliorare le query sono bene accette.