- Home
- Categorie
- Coding e Sistemistica
- PHP
- caselle combinate in cascata
-
caselle combinate in cascata
Salve ,
in una form ho tre caselle combinate così fatte:Nella prima devo scegliere un titolo di un film , tra quelli proiettabili in un multisala;
Nella seconda casella devo visualizzare le date di proiezione del film selezionato della prima casella ;
Nellla terza casella combinata devo visualizzare la sala e l'ora relative al film selezionato e alla data selezionata ;
Non so come collegare le tre query in cascata nella stessa form : Devo fare form diverse ? una per ogni scelta ?
Vi prego di darmi una risposta il più presto possibile
Grazie in anticipoP.S.:
Il codice che ho abbozzato è il seguente , ma non sono convinta della sua correttezza , help !<?php
//echo ("connessione" );
$conn = mysql_connect("localhost","root","")or die(print(mysql_error()));echo("<BR>");
print(mysql_error());
mysql_select_db("CINEMA")or die(print(mysql_error()));$sql = "SELECT distinct TITOLO FROM (film INNER JOIN (proiezione INNER JOIN sale ";
$sql .= "on proiezione.ID_SALA = sale.ID_SALA) ";
$sql .= "on film.ID_FILM = proiezione.ID_FILM)";
$sql .= " ORDER BY TITOLO, DATA,ORA,NOME";?>
<body bgcolor="#99ccff">
<center><FONT face="VERDANA"size="15" color="#ccffcc"><b> Servizio Prenotazione on line </b><FORM ACTION="registra_prenotazione.php" METHOD="post">
<br>
<table width="300" border="1" bordercolor="#ffffff"><br>
<tr>
<td width="150"><font SIZE="3" FACE="arial" COLOR="##0033ff" ><b>Film</td>
<td><select name ="SelCodiceFilm">
<option value="">---seleziona film---</option><?php
// SELEZIONE DEL DATABASE cinema$risultato = mysql_query($sql) ;
$numero_righe = mysql_num_rows($risultato);
if ($numero_righe > 0 )
{
$i=0;
while($i <$numero_righe)
{
$codice = mysql_result($risultato,$i,'ID_FILM');
$titolo = mysql_result($risultato,$i,'TITOLO');print ("<OPTION VALUE=$codice>$titolo</OPTION>");
$i = $i+1;
}$sql = "SELECT distinct data FROM (film INNER JOIN (proiezione INNER JOIN sale ";
$sql .= "on proiezione.ID_SALA = sale.ID_SALA) ";
$sql .= "on film.ID_FILM = proiezione.ID_FILM)";
$sql .= " where proiezione.ID_FILM =FORM.SelCodiceFilm.VALUE";
$sql .= " ORDER BY DATA";
ECHO($sql);}
?></td>
</select>
</tr>
<tr><td colspan="2"><hr color="#ccffcc"></td></tr><tr>
<td width="150"><font SIZE="3" FACE="arial" COLOR="##0033ff" ><b>Data</td>
<td><select name ="SelData">
<option value="">---seleziona data---</option><?php
$risultato = mysql_query($sql) ;
if ($numero_righe > 0 )
{
$i=0;
while($i <$numero_righe)
{
$codproiezione = mysql_result($risultato,$i,'id_proiezione');
$data = mysql_result($risultato,$i,'data');print ("<option value=$codproiezione>$data </OPTION>");
$i = $i+1;
}
}
$sql = "SELECT distinct ORA,NOME FROM (film INNER JOIN (proiezione INNER JOIN sale ";
$sql .= "on proiezione.ID_SALA = sale.ID_SALA) ";
$sql .= "on film.ID_FILM = proiezione.ID_FILM)";
$sql .= " where proiezione.ID_FILM =FORM.SelCodiceFilm.VALUE";
$sql .= " and proiezione.DATA =FORM.SelData.VALUE";
$sql .= " ORDER BY DATA";
ECHO($sql);
?>
</td>
</select>
</tr>
<tr><td colspan="2"><hr color="#ccffcc"></td></tr><tr>
<td width="150"><font SIZE="3" FACE="arial" COLOR="##0033ff" ><b>Sala /ora</td>
<td><select name ="SelSalaOra">
<option value="">---seleziona sala e ora---</option><?php
$risultato = mysql_query($sql) ;$numero_righe = mysql_num_rows($risultato);
if ($numero_righe > 0 )
{
$i=0;
while($i <$numero_righe)
{
$codproiezione = mysql_result($risultato,$i,'id_proiezione');
$ora = mysql_result($risultato,$i,'ora');
$nome = mysql_result($risultato,$i,'nome');print ("<option value=$codproiezione>$ora $nome </OPTION>");
$i = $i+1;
}
}
?>
<tr><td colspan="2"><hr color="#ccffcc"></td></tr><tr>
<td width="150"><font SIZE="3" FACE="arial" COLOR="##0033ff"><b>Nr biglietti</td>
<td width="150"><INPUT TYPE="text" NAME="nrbiglietti" ></td>
</tr>
<tr><td colspan="2"><hr color="#ccffcc"></td></tr>
<tr>
<td width="150"><font SIZE="3" FACE="arial" COLOR="##0033ff"><b>Costo totale</td>
<td width="150"><INPUT TYPE="text" NAME="costo totale" ></td>
</tr><tr><td colspan="2"><hr color="#ccffcc"></td></tr>
<tr>
<td width="150"><center><input type="submit" value="Conferma"></td>
<td><center><input type="reset" value="Resetta"></td></tr>
</table></td>
-
Non vi accalcate per rispondere eh !:D
Aspettate ! Uno alla volta ! Siete così tanti a rispondere che non riesco a seguirv:446:i
-
possibile che nessuno mi può aiutare?
Rita
-
Ho iniziato a leggere il tuo codice e sinceramente devo dirti che mi sono stancato prima della metà, quindi non so dirti se è scritto bene o meno.
Tuttavia per un problema come il tuo io userei un mix di PHP e javascript per questo.
La prima soluzione che mi viene in mente è un javascript che viene generato con i dati del DB, in modo tale che ogni volta che selezioni un film, lo script ti permetta di visualizzare solo le sale, le date e gli orari che ti interessano.
Se invece il tuo problema è solo quello di costruire una query che prenda dalle tabelle i risultati giusti, il mio consiglio è di fare delle prove fino a scrivere la query che ti prende i dati corretti.
Io purtroppo non sono così esperto da scriverti al volo la query che ti serve, ma non credo che servano 3 query in cascata: una volta che scegli il film, prendi dalle altre tabelle i dati di quel film.
-
Salve,
sono sempre io con il solito problema:Praticamente lo schema di lavoro è il seguente:
- scelgo un valore in una select
- effettuo una seconda scelta in un'altra select su valori dipendenti dalla prima scelta
- cerco un record in una tabella con chiave dipendente dalle due scelte precedenti
- trovato il record, devo dare la possibilità di modificare il contenuto e fare l'update.
E' possibile avere un esempio piccolo piccolo che mi aiuti ad uscire da questo inghippo?
( p.s. ho fatto diecimila ricerche in rete tra javascript e ajax ma mi sono persa!!!!)
Spero che qualche anima buona mi venga incontro e non mi mandi a nessun link per piacere!!!
Ringrazio per la vostra disponibilità
rita-disperata
-
può esserti utile questo
prozone.it/smf/index.php?topic=2610.0