Newsgroup: it.comp.www.php
Titolo: Passaggio di valori e sessioni

Ciao,
ho la seguente situazione: ho due select in una form. Alla prima
selezione, gli elementi della seconda vengono caricati dalla banca
dati. La pagina viene ricaricata con un evento onChange in Javascript.
Fatta la scelta nella seconda select dovrei ottenere il valore che,
inseme al primo mi permettono di caricare i dati definitivi.
Al secondo reload, però, perdo tutti i dati.
Qualche dritta? Grazie in anticipo.

> Al secondo reload, però, perdo tutti i dati.
come frase non ha molto senso, dovresti postare un po' di codice
-- 
Web marketing & community management:
http://www.insistema.com/


Scusa,
ecco il codice
<SCRIPT LANGUAGE="JavaScript">
	function reload(form){
	var val=form.cat.options[form.cat.options.selectedIndex].value;
	window.location='
http://www.sccbellinzona.ch/src/index.php?var=../
visualizza_OCOM.php&id=324&level=3&cat=' + val ;
	}
	function reload_2(form){
	var
beta=form.scelta.options[form.scelta.options.selectedIndex].value;
	window.location='
http://www.sccbellinzona.ch/src/index.php?var=../
visualizza_OCOM.php&id=324&level=3&scelta=' + beta ;
	}
</script>
		<form action="?var=../visualizza_OCOM.php" method="post">
       <!-- La prima select -->
		<select id="cat" onchange="reload(this.form)" class="testo">
		<option value="scegli">--- Scegli un Semestre ---</option>
		<option value="3,1">--- Semestre I Terza ---</option>
		<option value="3,2">--- Semestre II Terza ---</option>
		<option value="4,1">--- Semestre I Quarta ---</option>
		<option value="4,2">--- Semestre II Quarta ---</option>
		</select>
	 <!-- La seconda select -->
		<select id="scelta" onchange="reload_2(this.form)" class="testo">
		<option value="scegli">--- Scegli un'Opzione COM ---</option>
<?php
// carico i dati filtrando secondo la scelta fatta
$strSQL = "...";
		ora_parse($cursor, $strSQL);
	    ora_exec($cursor);
	    while(ora_fetch_into($cursor, &$d, ORA_FETCHINTO_NULLS|
ORA_FETCHINTO_ASSOC)) {
      		echo ("<option value=\"".$d["OPZ_DESCRIZIONE"]."\">" .
$d["OPZ_DESCRIZIONE"]."</option><br/>");
    }
?>
          </select>
	<input type="submit" value="Invia">
Come vedi, dopo aver fatto la seconda scelta, con un evento onChange,
ricarico la pagina. È a questo punto che i valori passati dalla prima
select sono persi.
Grazie per ogni aiuto



Oddio, questo codice è talmente sbagliato che non saprei da dove
iniziare.
Intanto hai il tuo bel form post e tramite il javascript lo fai diventare
get, c'è un motivo per questa... aberrazione? :) In ogni caso, il
reload_2 dovrebbe passare anche ilvalore di cat, oltre a quello di scegli
(o no?) Poi, dov'è che credi di ritrovarti di dati? io non vedo nessun
tipo di operazione sui vettori _GET o _POST.


">
<?php
?>
<input type="submit" value="Invia">
<?php
$_SESSION['scelta'] = $_GET['scelta'];
	  if($_GET["scelta"]){
	  $cursor = ora_open($conn);
      $strSQL_allievi = "select distinct
		scc.allievo.all_cognome,
		scc.nota.not_doc_codice,
		scc.nota.not_doc_codice_sem1,
		scc.nota.not_doc_codice_sem2,
		scc.classe.cla_classe,
		scc.classe.cla_sezione,
		scc.materia.mat_codice,
		scc.mat_cla.mat_cla_tipo,
		scc.materia.mat_codice,
		scc.materia.mat_descrizione,
		scc.materia.mat_licenza,
		scc.materia.mat_gma_codice_4,
		scc.docente.doc_codice,
		scc.docente.doc_sigla,
		scc.opzione.opz_descrizione
from scc.allievo, scc.nota, scc.classe, scc.all_cla, scc.mat_cla,
scc.materia, scc.docente, scc.mat_cla_doc, scc.opzione
where scc.allievo.all_codice=scc.nota.not_all_codice
and scc.allievo.all_codice=scc.all_cla.acl_all_codice
and scc.classe.cla_codice=scc.all_cla.acl_cla_codice
and scc.mat_cla.mat_cla_codice=scc.nota.not_matcla_codice
and scc.materia.mat_codice=scc.mat_cla.mat_cla_materia_codice
and scc.mat_cla.mat_cla_codice=scc.mat_cla_doc.mcd_matcla_codice
and not_opz".$pieces[1]."_codice = opz_codice
and scc.classe.cla_anno_inizio= $anno_in_corso
and scc.materia.mat_codice=scc.opzione.opz_mat_codice
and scc.materia.mat_codice =  'OCOM'
and scc.classe.cla_classe = '".$pieces[0]."'
and scc.mat_cla.mat_cla_codice=scc.mat_cla_doc.mcd_matcla_codice
and scc.materia.mat_codice=scc.mat_cla.mat_cla_materia_codice
and scc.classe.cla_codice=scc.mat_cla.mat_cla_classe_codice
and scc.mat_cla.mat_cla_codice=scc.nota.not_matcla_codice
and scc.docente.doc_codice=scc.mat_cla_doc.mcd_docente_codice
and (scc.nota.not_doc_codice_sem".$pieces[1]."=scc.docente.doc_codice)
and scc.classe.cla_anno_inizio=scc.opzione.opz_anno
and scc.opzione.opz_descrizione= '".$_POST["scelta"]."'
order by scc.allievo.all_cognome,scc.materia.mat_descrizione";
	  	ora_parse($cursor, $strSQL_allievi);
		ora_exec($cursor);
		$strData = " ";
 ?>
 </td>
 </tr>
 <tr>
 <td colspan="3">
 <table style="width:613px; border-collapse:collapse;" border="1"
bordercolor="silver">
 <?
		$cont = 1;
  		 while(ora_fetch_into($cursor, &$t, ORA_FETCHINTO_NULLS|
ORA_FETCHINTO_ASSOC)) {
  		 	if ($strData <> $t["ALL_COGNOME"]) {
      		//echo("<tr><td colspan=\"4\" class=\"normale\"><b>ALLIEVI PI</
b></td></tr>");
      		$strData = $t["COGNOME"];
    	}
  		 	echo("<tr><td>" . $cont . "</td>");
    		echo("<td>" . $t["CLA_CLASSE"] . "</td>");
    		echo("<td>" . $t["ALL_COGNOME"] . "</td>");
    		echo("<td>" . $t["ALL_NOME"] . "</td>");
  		 	echo("</tr>\n");
  		 $cont = $cont + 1;
  		 }
  	echo ("<br/><br/><b>" .  $t["DESCRIZIONE"]. "</b>");
  	echo (" - ");
  	 echo ("<b>" .  $t["NOME_CLASSE"]. "</b><br/><br/>");
?>
</table>
 </td>
 </tr>
</form>
	</tr>
</table>