• User

    caselle combinate in cascata

    Salveimage ,
    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 ?image
    Vi prego di darmi una risposta il più presto possibile
    Grazie in anticipo

    P.S.:
    Il codice che ho abbozzato è il seguente , ma non sono convinta della sua correttezza , help !image

    <?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>
    image


  • User

    Non vi accalcate per rispondere eh !:D
    Aspettate ! Uno alla volta ! Siete così tanti a rispondere che non riesco a seguirv:446:i


  • User

    possibile che nessuno mi può aiutare?
    Rita


  • User

    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.


  • User

    Salve,
    sono sempre io con il solito problema:

    Praticamente lo schema di lavoro è il seguente:

    1. scelgo un valore in una select
    2. effettuo una seconda scelta in un'altra select su valori dipendenti dalla prima scelta
    3. cerco un record in una tabella con chiave dipendente dalle due scelte precedenti
    4. 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


  • Bannato User Attivo

    può esserti utile questo
    prozone.it/smf/index.php?topic=2610.0