Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    114

    Azioni PHP dipendenti nella stessa pagina

    Due azioni su un database possono coesistere nella stessa pagina? Già da solo dico di si, ma come si può fare affinché la seconda utilizzi informazioni della prima?
    In questo caso la seconda form deve visualizzare un elenco di codici in base a quanto precedentemente scelto dall'utente nell'input "sala", evitando di fatto i record con tale valore.

    Di seguito posto il codice che ho creato, è sbagliato scrivere così?

    Altrimenti non si potrebbe fare in un form solo? Cioè quando l'utente sceglie la "sala" (quando quindi essa diventa diversa da NULL) automaticamente viene rilevata la seconda query (relativa al codice)???

    codice:
    <html>
    <head>
    
    <?php
    	//Connessione al DB
    	include "connect.php";
    ?>
    </head>
    <body>
    
    <div id="container">
    	
    
    
    	<div id="text">
    		<h3>Operazione 2 - Inserimento nuovo abbonamento</h3>
    		<form name="Op2" action="query2.php" method="post">
    		<table id="form" align="center">
    			<tr><td><label for="datai">Data di stipulazione (AAAA-MM-GG): </label></td><td><input name="nome" type="text" size="20"/></td></tr>
    			<tr><td><label for="datas">Data di scadenza (AAAA-MM-GG): </label></td><td><input name="cognome" type="text" size="20"/></td></tr>
    			<tr><td><label for="tariffam">Tariffa mensile: </label></td><td><input name="cap" type="text" size="20"/></td></tr>
    			<tr><td><label for="iscr">Tassa di iscrizione: </label></td><td><input name="via" type="text" size="20"/></td></tr>
    			<tr><td><label for="sconto">Sconto personale: </label></td><td><input name="sconto" type="text" size="20"/></td></tr>
    			<tr><td><label for="sala">Sala di accesso: </label></td><td>
    				<select name="sala">
    				<?php
    				//Crea la query
    				$query = "select codice_sala from sala order by codice_sala";
    				$result = mysql_query($query, $conn);
    				while($field = mysql_fetch_array($result))
    				{
    				?>
    					<option><?php echo $field['codice_sala'] ;?></option>
    				<?php
    				} ;
    				?>
    				</select>
    			</td></tr>
    			</table>
    
    			<label for="invia">Visualizza possibili clienti possessori </label>
    			<input name="invia" type="submit" value="Calcola"/>
    		</form>
    
    		<form name="Op2" action="query2r.php" method="post">
    		<label for="cliente">Cliente possessore: </label>
    				<select name="cliente">
    				<?php
    				if ($sala != NULL) { 
    				$sala = $_POST['sala'];
    				$query = "SELECT codice FROM cliente, ha_permesso, sala WHERE cliente.codice = ha_permesso.cliente AND ha_permesso.sala != '$sala' ORDER BY codice";
    				$result = mysql_query($query, $conn);
    				while($field = mysql_fetch_array($result))
    				{
    				?>
    					<option><?php echo $field['codice'] ;?></option>
    				<?php
    				} };
    				?>
    				</select>
    			<input name="invia2" type="submit" value="Invia"/>
    		</form>
    		
    
    
    		Indietro
    		
    
    	</div>
    </div>
    </body>
    </html>

  2. #2
    Per fare tutto con un form unico devi usare AJAX....

    Ciao
    Microtech
    Engineering IT Solution for Business

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    114
    purtroppo devo usare nientemeno che PHP (che inoltre è la prima volta che uso).
    A me andrebbe bene anche fare 3 pagine, cioè la seconda intercetterà le info della prima e eseguirà quindi la seconda select con facilità ed invierà i dati ad una terza pagina.
    In questo caso la mia domanda è: le variabili $_POST vengono "ereditate" anche dalla terza (ovviamente quelle della prima pagina, dalla seconda alla terza è ovvio), oppure devo ritrasmetterle? Se necessitano di ritrasmissione, come fare?

    Sarebbe comunque meglio farlo in solo 2 pagine anziché 3, ma se sapete rispondermi per quest'ultima soluzione va bene lo stesso...

  4. #4
    il $_POST[] lo erediti dalla prima alla seconda, ma dalla seconda alla terza lo devi inviare con input type"hidden" del form e come "value" metti il contenuto e "name" la variabile.

    Fammi Sapere
    Cmq con un semplice script ajax riuscivi a risolvere tutto in un unica pagina

    Ciao
    Marco
    Microtech
    Engineering IT Solution for Business

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    114
    Delle tecnologie AJAX ne ho sentito parlare un po' durante qualche corso all'Università, ma poco e niente, penso che proverò con hidden (come gli si passa un valore?), ma ormai questa idea ajax mi incuriosisce, se ti va di farmi vedere come funziona (o se proprio hai voglia e tempo un piccolo esempio, ma senza perdere troppo tempo, al massimo se ne hai uno già fatto)... comunque grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.