Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    query con relazione uno a molti

    Ciao a tutti.
    Ho 2 tabelle Video e Noleggi
    Video è 1aN con Noleggi attraverso la relazione tra il campi Video.IdVideo e Noleggi.IdProdotto.

    Dovrei stampare i campi dell'una e dell'altra tabella. Ho scritto la seguente, ma non funge. ('Mi stampa: Impossibile eseguire la query).

    Codice PHP:
    <table width="75%" border="1">
      <tr> 
        <td width="12%">Id Noleggio</td>
        <td width="11%">Id Prodotto</td>
        <td width="28%">Nome Film</td>
        <td width="16%">Costo Noleggio</td>
        <td width="13%">dataAcq</td>

      </tr>
      
      <?
      $sql
    ="SELECT Video.IdVideo ,Video.NomeFilm as NomeFilm, Video.CostoNoleggio as CostoNoleggio,Noleggi.IdNoleggio,Noleggi.IdProdotto,Noleggi.DataAffitto as DataAffitto
      from Video,Noleggi where Video.IdVideo=Noleggi.IdProdotto
       "
    ;
    // seleziona tutti i record della tabella
    $risultato_querymysql_query($sql) or die( "Impossibile eseguire la query");
    // controlla il risultato della query attraverso la funzione mysql_query
    $num_righe=mysql_num_rows($risultato_query);
    // restituisce il numero di record ottenuto dalla selezione

    $riga=mysql_fetch_array($risultato_query); {
         
                
    //$IdNoleggio=$riga["Noleggi.IdNoleggio"];
                // $IdProdotto=$riga["Noleggi.IdProdotto"];
                 
                 
    $NomeFilm=$riga["NomeFilm"];
                 
                 
    $CostoNoleggio=$riga["CostoNoleggio"];
                 
    $DataAffitto=$riga["DataAffitto"];

    ?>
      
      <?
      
    echo"<tr> ";
        echo
    "<td> </td>";
       echo
    " <td>  </td>";
        echo
    "<td> $NomeFilm</td>";
       echo
    " <td>  $CostoNoleggio</td>";
       echo
    " <td> $DataAffitto</td>";

      echo
    "</tr>";
      
      } 
    ?>
    </table>
    Cosa sto sbagliando nello scrivere la query?
    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    52
    Dovresti postare la struttura esatta delle tabelle.

  3. #3
    Aggiungi mysql_error():

    Codice PHP:
    ...
    $risultato_querymysql_query($sql) or die( "Impossibile eseguire la query: ".mysql_error()); 
    ... 
    e vedi che errore ti restituisce.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Video
    codice:
    CREATE TABLE IF NOT EXISTS `Video` (
      `IdVideo` int(3) NOT NULL AUTO_INCREMENT,
      `IdGenere` int(11) NOT NULL,
      `NomeVideo` varchar(50) NOT NULL DEFAULT '',
      `Scorta` int(11) NOT NULL DEFAULT '0',
      `CostoAcquisto` double DEFAULT '0',
      `CostoNoleggio` double NOT NULL DEFAULT '0',
      PRIMARY KEY (`IdVideo`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=16 ;


    Noleggi
    codice:
    CREATE TABLE IF NOT EXISTS `Noleggi` (
      `IdNoleggio` int(11) NOT NULL AUTO_INCREMENT,
      `IdCliente` int(11) DEFAULT NULL,
      `IdProdotto` int(11) DEFAULT NULL,
      `IdAddetto` int(11) DEFAULT NULL,
      `NomeFilm` varchar(20) NOT NULL,
      `DataAffitto` date DEFAULT NULL,
      `DataRestituzione` date NOT NULL DEFAULT '0000-00-00',
      `Affitto` int(11) DEFAULT NULL,
      `Danneggiato` int(2) NOT NULL,
      PRIMARY KEY (`IdNoleggio`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

  5. #5
    Originariamente inviato da satifal
    Aggiungi mysql_error():

    Codice PHP:
    ...
    $risultato_querymysql_query($sql) or die( "Impossibile eseguire la query: ".mysql_error()); 
    ... 
    e vedi che errore ti restituisce.
    P.S.

    Comunque "Video.NomeFilm" non esiste
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    si avete ragione. avevo sbagliato a scrivere il nome del campo.
    Comunque ora mi da solo un record. Non sta ciclando. Dove sbaglio?

  7. #7
    Codice PHP:

    ...while($riga=mysql_fetch_array($risultato_query)){ 
    funge
    grazie ragazzi

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    52
    abc

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.