- Home
- Categorie
- Coding e Sistemistica
- PHP
- Ciclo while e sessione
-
Se questo è all'interno del ciclo significa che ti crea *n *form per n cicli che compie il while
Ancora non comprendo il tuo problema
-
Ho cambiato ciclo, usando il for...
Ora ti posto il codice:
<?php require 'includes/query_princ.php'; $qp = new query_princ(); $resAnno = $qp ->query_corsi_laurea(); /* $queAnno = "select jos_insegnamento.anno, count(*) from jos_insegnamento group by jos_insegnamento.anno order by jos_insegnamento.anno desc"; */ for($j=0;$j<$rowAnno = mysql_fetch_row($resAnno);$j++){ $annoA = $rowAnno[0]; $anno_inc = $annoA+1; ?> <h3>Anno Accademico <?php echo $annoA?> - <?php echo $anno_inc?></h3> <div> <?php $que = "select jos_corso_laurea.id, jos_corso_laurea.nome_corso from jos_insegnamento join jos_corso_laurea on jos_insegnamento.id_corso_laurea = jos_corso_laurea.id where jos_insegnamento.anno =$annoA group by jos_corso_laurea.nome_corso order by jos_corso_laurea.nome_corso"; $res = mysql_query($que, $conn) or die("Si è verificato un errore: " . mysql_error() ); for($i=0; $i<$row = mysql_fetch_row($res); $i++){ ?> <form method="post" action="personale/ins/corso.php" id="<?php echo "form".$i ?>"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('<?php echo "form".$i ?>').submit();"><?php echo $row[1]?></a></p> <p><input type="hidden" value="<?php echo $row[0]; ?>" name="c_l" /></p> <p><input type="hidden" value="<?php echo $annoA; ?>" name="a_l" /></p> </form> <?php } echo("<p>--------------------------------------------------------------</p>"); echo("</div>"); } ?>
questo è tutto il file...
Con il ciclo for funziona in parte...non capisco perchè!
-
cosa ti funziona in parte? ovvero, cosa non ti fa vedere che invece dovrebbe?
Hai provato a vedere l'HTML della pagina che ti restituisce?
-
<h3>Anno Accademico 2007 - 2008</h3> <div> <form method="post" action="personale/ins/corso.php" id="**form0**"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('**form0**').submit();">Enologia</a></p> <p><input type="hidden" value="4" name="c_l" /></p> <p><input type="hidden" value="2007" name="a_l" /></p> </form> <form method="post" action="personale/ins/corso.php" id="**form1**"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('**form1**').submit();">Scienze e tecnologie alimentari</a></p> <p><input type="hidden" value="3" name="c_l" /></p> <p><input type="hidden" value="2007" name="a_l" /></p> </form> <form method="post" action="personale/ins/corso.php" id="**form2**"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('**form2**').submit();">Scienze Forestali</a></p> <p><input type="hidden" value="5" name="c_l" /></p> <p><input type="hidden" value="2007" name="a_l" /></p> </form> <p>--------------------------------------------------------------</p></div> <h3>Anno Accademico 2006 - 2007</h3> <div> <form method="post" action="personale/ins/corso.php" id="**form0**"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('**form0**').submit();">Enologia</a></p> <p><input type="hidden" value="4" name="c_l" /></p> <p><input type="hidden" value="2006" name="a_l" /></p> </form> <p>--------------------------------------------------------------</p> </div> <h3>Anno Accademico 2005 - 2006</h3> <div> <form method="post" action="personale/ins/corso.php" id="**form0**"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('**form0**').submit();">Scienze e tecnologie alimentari</a></p> <p><input type="hidden" value="3" name="c_l" /></p> <p><input type="hidden" value="2005" name="a_l" /></p> </form> <p>--------------------------------------------------------------</p></div> </div>
Se solo gli ultimi 2 id form fossero diversi...dovrebbe funzionare tutto!
-
Ho risolto:
<?php for($i=0; $i<$row = mysql_fetch_row($res); $i++){ **$count++**; ?> <form method="post" action="personale/ins/corso.php" id="<?php echo "**form".$i+$count**?>"> <p>Corso di laurea: <a href="#" onClick="document.getElementById('<?php echo "form".**$i+$count** ?>').submit();"><?php echo $row[1]?></a></p> <p><input type="hidden" value="<?php echo $row[0]; ?>" name="c_l" /></p> <p><input type="hidden" value="<?php echo $annoA; ?>" name="a_l" /></p> </form> ```Ma onestamente non so perchè funziona...avevo intuito che l'id del form avesse un ruolo, ma onestamente non so quale! Cmq una volta passati i dati alla pagina successiva, posso salvarli nella sessione, e una volta tornati nella pagina coi form resettare la sessione? poichè nella mia applicazione, più in là, c'è lo stesso problema(oramai risolto..) perchè devo usare dei dati avanti e indietro per molte pagine. Solo che non so dove e quando toglierli dalla sessione!!!!
-
metti il ; alla fine della stringa php
[php].....id="<?php echo "form".$i; ?>">..[/php]
vedi se va ora
-
@Rinino said:
Cmq una volta passati i dati alla pagina successiva, posso salvarli nella sessione, e una volta tornati nella pagina coi form resettare la sessione?
Basta che distruggi la sessione quando ricarichi la pagina dei form
-
ma visto che anche un utente loggato potrebbe visitare queste pagine, non rischio di distruggere anche la sua di sessione e "cacciarlo" dal sito?
-
si, allora nell'altra pagina risetterai il valore della sessione senza fare il destroy
-
ok, domani ci provo!!!!
Ti farò sapere!