Ciao a tutti, è il mio primo post e purtroppo anzichè saluti e baci vi devo esporre un mio problema con un form
premetto che sono un novellino di php e sto imparando adesso...
intanto vi spiego quello che "vorrei" fare... perchè magari lo sto facendo nel modo sbagliato e quindi da lì arrivano i miei problemi...
sto realizzando un form per un inserimento di dati (una richiesta di preventivo x essere precisi).

l'idea sarebbe:

1 scelgo un cliente esistente
(x adesso è un menù a discesa con tutti i clienti, vorrei implementare una qualche forma di autocompletamento, che ho già trovato come script php/js/ajax, solo che non so come passare i dati al file js nell'array tramite mysql)

2 inserisco altri 2-3 campi di testo

3 scelgo una filiale da un menu a discesa

4 in base alla selezione precedente, carico un altro menù a discesa con i nomi dei tizi che lavorano in quella filiale

5 altro menù a discesa con la "macrocategoria" dell'ordine

6 in base a questa selezione, fa come quello sopra e si carica la sottocategoria

7 qualche campo di testo x i dettagli

8 un qualcosa che dica "aggiungi altro" e fa mettere un'altra volta macrocategoria e sottocategoria"

9 textarea per le note

10 finalmente clicco un bottone e mi inserisce il tutto nel db



la situazione attuale è che ho scritto un po' di codice (assieme ad un amico che mi ha seguito un po' per spiegarmi qualcosa di php), arrivo al punto 5 e non so che fare!

o meglio, avendo fatto il ciclo per il punto 4 che funziona (ovvero, carica filiale e in base a quella il dipendente) nel volerlo fare anche per il punto 5 quando avviene l'OnChange che ricarica il form e dice che quelle selezioni sono quindi in "selected" nell'option value, si sballa tutto!
resta in selected solo la filiale ma scompare il selected del dipendente....
inoltre, non appare la sottocategoria...

prima di postare il codice, volevo intanto sapere se sto seguendo una via "giusta" o se posso ottimizzare meglio questo form magari cambiando il tipo di inserimento/visualizzazione....
secondo voi com'è?

e adesso, ecco il codice della pagina che dovrebbe fare una parte di quello che vorrei...


<?php
include("conn.php");
$message = "";
if (isset($_POST["salva"]))
{
if (!$_POST["cliente"])
{
$message = "Deve essere inserito il cliente";
}
elseif (!$_POST["filiale"])
{
$message = "Deve essere inserita la filiale";
}
elseif (!$_POST["mod_pag"])
{
$message = "Deve essere inserita la modalità di pagamento";
}
else
{
$query = "INSERT INTO `preventivi` (`cliente`, `referente`, `tel_referente`, `mail_referente`, `filiale`, `account`, `mod_pag`, `note`) VALUES ('".$_POST["cliente"]."', '".$_POST["referente"]."', '".$_POST["tel_referente"]."','".$_POST["mail_referente"]."', '".$_POST["filiale"]."', '".$_POST["account"]."',
'".$_POST["mod_pag"]."','".$_POST["note"]."')";
mysql_query($query) or die ($query."
".mysql_error());
$message = "Inserimento effettuato correttamente, attendere la comunicazione di presa in carico dall'ufficio commerciale";
}
}
echo "

$message";
?>
</div>
<form action="ins_prev_new.php" method="post" name="ins_prev" id="ins_prev">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>Cliente:</td>
<td></td>
<?php
$clienti = "select * from `ana_cli`";
$lista_clienti = mysql_query($clienti) or die ("non eseguo la query clienti");
echo "<td><select name=\"cliente\">\n";
echo "<option value=\"0\">- Selezionare un cliente -</option>\n";
while ($cli = mysql_fetch_array($lista_clienti,MYSQL_ASSOC))
{
echo "<option value=\"".$cli["id_ana_cli"]."\"";
if (isset($_POST["cliente"]) and $_POST["cliente"] ==
$cli["id_ana_cli"])
{
echo " selected";
}
echo ">".$cli["rag_soc"]."</option>\n";
}
echo "</select></td></tr>";
?>
<tr><td><span class="Stile1">Se il cliente non è presente, cliccare qui per inserirlo in anagrafica</span></td>
</tr>
<tr>
<td>Referente:</td>
<td></td>
<td><input name="referente" type="text" id="referente" value="<?php echo isset($_POST["referente"])?$_POST["referente"]:"";?>" size="35" maxlength="50" />*</td>
</tr>
<tr>
<td>Tel. Referente:</td>
<td></td>
<td><input name="tel_referente" type="text" id="tel_referente" value="<?php echo isset($_POST["tel_referente"])?$_POST["tel_referente"]:"";?>" size="30" maxlength="30" />*</td>
</tr>
<tr>
<td>Mail Referente:</td>
<td></td>
<td><input name="mail_referente" type="text" id="mail_referente" value="<?php echo isset($_POST["mail_referente"])?$_POST["mail_referente"]:"";?>" size="35" maxlength="50" />*</td>
</tr>
<tr>
<td>Filiale:</td>
<td></td>
<?php
$filiali = "select * from `ana_fil`";
$lista_filiali = mysql_query($filiali) or die ("non eseguo la query filiali");
echo "<td><select name=\"filiale\">\n";
echo "<option value=\"0\">- Filiale di appartenenza -</option>\n";
while ($fil = mysql_fetch_array($lista_filiali,MYSQL_ASSOC))
{
echo "<option value=\"".$fil["id_fil"]."\"";
if (isset($_POST["filiale"]) and $_POST["filiale"] ==
$fil["id_fil"])
{
echo " selected";
}
echo ">".$fil["filiale"]."</option>\n";
}
echo "</select></td></tr> <tr><td>Account:</td><td></td>";
if ($_POST["filiale"])
{
$account = "select * from `ana_acc` where `filiale` = '".$_POST["filiale"]."' order by nominativo asc";
$lista_account = mysql_query($account) or die ("non eseguo la query account");
echo "<td><select name=\"nominativo\">";
while ($acc = mysql_fetch_array($lista_account,MYSQL_ASSOC))
{
echo "<option value=\"".$acc["nominativo"]."\"";
if (isset($_POST["nominativo"]) and $_POST["nominativo"] ==
$acc["nominativo"])
{
echo " selected";
}
echo ">".$acc["nominativo"]."</option>\n";
}
}
else
{
}
echo "</select></td></tr>";
?>
</tr>
<tr>
<td>Categoria Ordine:</td>
<td></td>
<?php
$servizi = "select * from `servizi`";
$lista_servizi = mysql_query($servizi) or die ("non eseguo la query servizi");
echo "<td><select name=\"servizio\">\n";
echo "<option value=\"0\">- Tipo servizio -</option>\n";
while ($ser = mysql_fetch_array($lista_servizi,MYSQL_ASSOC))
{
echo "<option value=\"".$ser["id_serv"]."\"";
if (isset($_POST["servizio"]) and $_POST["servizio"] ==
$ser["id_serv"])
{
echo " selected";
}
echo ">".$ser["descrizione"]."</option>\n";
}
echo "</select></td></tr> <tr><td>Tipologia ordine:</td><td></td>";
if ($_POST["servizio"])
{
$cat_servizi = "select * from `categoria_servizi` where `id_rif_servizi` = '".$_POST["servizio"]."'";
$lista_cat_servizi = mysql_query($cat_servizi) or die ("non eseguo la query account");
echo "<td><select name=\"cat_servizio\">";
while ($cat_serv = mysql_fetch_array($lista_cat_servizi,MYSQL_ASSOC))
{
echo "<option value=\"".$cat_serv["id_cat_serv"]."\">".$cat_serv["descrizione"]."</option>\n";
}
}
else
{
}
echo "</select></td></tr>";
?>

<tr>
<td>Modalità pagamento:</td>
<td></td>
<td><input name="mod_pag" type="text" id="mod_pag" value="<?php echo isset($_POST["mod_pag"])?$_POST["mod_pag"]:"";?>" size="35" maxlength="50" />*</td>
</tr>
<tr>
<td>Note:</td>
<td></td>
<td><textarea name="note" cols="30" rows="8" wrap="virtual" id="note"></textarea></td>
</tr>
</table>
</div>
<p align="center">
<input name="salva" type="submit" value="Inserisci" />
</p>
</form>
Qualcuno ha voglia di darmi una mano?

Grazie in anticipo,
Fabrizio