• User Newbie

    problema con php e inserimento dati di altre tabelle nel form

    Ciao a tutti sono alle prime arimi con php e mysql e avrei bisogno di un aiuto,vi spiego il mio problema:
    devo realizzare una pagina in php nella quale inserire dei dati relativi a dei film ( titolo,anno,durata,trama,supporto,regista e genere)
    il mio database è strutturato in 4 tabelle (film,regista,genere,attore) con le seguenti relazioni:

    image
    e la seguente struttra logica:

    film ( Id_film,titolo,durata,anno,trama,supporto,id_regista,id_genere)
    regista (id_regista,nome,cognome,data,biografia)
    attore(id_attore,nome,cognome,data,biografia)
    genere(id_genere,nome)
    filmattore(id_film,id_attore)

    Nella pagina php che devo realizzare,come ho detto in precedenza devo inserire,tra gli altri, il regista e il genere che per essere salvati nella
    tabella film devo essere inseriti sottoforma di id_regista e id_genere quindi come dei numeri interi.Ecco il mio problema vorrei fare in modo di
    inserire una combo box che al posto dell'id_genere e dell'id_regista mi visualizzi il nome e il cognome del regista ed il nome del genere e che
    poi salvi il relativo id a sua volta già salvato nelle relative cartelle ( cioè genere e regista).Credo si possa fare come si può fare per esempio
    con Access ma ripeto,assendo alle prime armi non sono in grado di farlo,qualcuno mi può aiutare?

    questo è il codice che ho scritto finora ( con gli **** la parte dove riscontro il suddetto problema )

    • <FORM method=post action=save.php>
       Titolo:         
      <INPUT type=text size=31 name=titolo><BR><BR>

                           &nbsp;Anno:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                               <SELECT name=anno>
                                       <?
                                       for ($i=1930; $i<=2007; $i++)
                                               echo "<option value=$i>$i";
                                       ?>
                               </SELECT>
      
               &nbsp;&nbsp;&nbsp;Durata:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                               <INPUT type=text size=6 name=durata><BR><BR>
      
               &nbsp;Supporto:&nbsp;&nbsp;&nbsp;&nbsp;
                               <SELECT name=supporto>
                                       <OPTION value=dvd>Dvd
                                       <OPTION value=divx>DivX
                                       <OPTION value=tape>Videotape
      
                               </SELECT><BR><BR>
      
               &nbsp;Regista:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                               <SELECT name=id_regista>
                                       ***************
                               </SELECT>
      
               &nbsp;&nbsp;&nbsp;Genere:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                               <SELECT name=id_genere>
                                       **********
                               </SELECT><BR><BR>
      
                             &nbsp;Trama:&nbsp;<BR>
           &nbsp;&nbsp;<TEXTAREA cols=50 rows=15 name=trama></TEXTAREA><BR><BR>
      
                              <BR><BR>
           <INPUT type=submit value=Invia> 
                               <BR><BR><BR><BR>
      
                       </FORM>*

  • User Attivo

    Qui c'è l'esempio della parte del regista. Inoltre puoi usare $sel per preselezinoare un regista (basta che ci metti l'id del regista che vuoi preselezionare). Ti servirà per implementare anche la modifica all'interno del tuo form.

    
    $qry = "SELECT * FROM regista ORDER BY nome ASC";
    
    // echo "query=[$qry]<br>\n\n";
    $cerca = mysql_query($qry);
    
    if (mysql_num_rows($cerca) > 0)
      {
      echo "Seleziona il regista: <select name='id_regista'>\n";
    
      while ($rec = mysql_fetch_array($cerca, MYSQL_ASSOC))
        {
        $id = $rec['id_regista'];
        $nome = $rec['nome'];
        echo "<option value='$id' " . (($sel == $id) ? "selected" : "") . ">$nome\n";
        }
    
      echo "</select>\n";
      }