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

    Stampare record tabelle uno a molti

    Salve ragazzi.
    Vorrei stampare i risultati di una query che raccoglie i dati da 2 tabelle in relazione 1 a n in questo modo

    Nome Cinema Ariston
    Indirizzo Cinema Via italia 2 Città Milano
    Film Azzurro Orario 22.30 Collegamento www.Trailer.htm
    Film apocalipto Oraio 20.30 Collegamento www. Trailer. it

    Nome Cinema Capitol
    Indirizzo Via giuffrida 2.......
    Film .....
    Film .....
    Film ......

    Ho provato con il seguente codice:

    Codice PHP:

    <?




    INCLUDE('connessione.php');

    $sql="SELECT * FROM cinema,film WHERE cinema.idcinema = film.cinema"

    $risultato_query=mysql_query($sql,$connessione);




    $riga=mysql_fetch_array($risultato_query);


         while(
    $riga=mysql_fetch_array($risultato_query)){
         
                
                              
                   
    $nomecinema=$riga['nomecinema'];
                   
    $indirizzo=$riga['indirizzo'];
                    
    $citta=$riga['citta'];

                              
    $titolo=$riga["film"];
             
    $linkfilm=$riga["linkfilm"];
             
    $orario=$riga["orario"];

    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
      echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Nome cinema</td>";
      echo
    "<td >$nomecinema</td>";
     echo
    "</tr>";
     echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Indirizzo</td>";
       echo
    " <td class=\"newstesto\">$indirizzo</td>";
       echo
    " <td class=\"titolo\">Citt&agrave;</td>";
        echo
    "<td class=\"newstesto\">$citta</td>";
      echo
    "</tr>";

      echo
    "<tr> ";             


       echo
    " <td class=\"titolo\">Film</td>";
       echo
    " <td class=\"newstesto\">$titolo film</td>";
       echo
    " <td class=\"titolo\">Orario</td>";
       echo
    " <td class=\"newstesto\">$orario</td>";
       echo
    " <td class=\"titolo\">collegamento</td>";
       echo
    " <td class=\"newstesto\">$linkfilm</td>";
      echo
    "</tr>";

         
    echo
    "<tr>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
     echo
    " </tr>";
    }
    echo
    "</table>";


    ?>
    Il fatto è che li stampa però ad uno a uno, ovvero un cinema un film. Io vorrei invece che stampasse un solo cinema con i film relativi.
    Come posso Fare?
    Grazie!

  2. #2
    Codice PHP:
    $risultato_query=mysql_query($sql,$connessione); 
    Dovrebbe essere:
    Codice PHP:
    $risultato_query=mysql_query($sql); 
    Dovresti togliere:
    Codice PHP:
    $riga=mysql_fetch_array($risultato_query); 
    Al posto di:
    Codice PHP:
    while($riga=mysql_fetch_array($risultato_query)){ 
    mettere:
    Codice PHP:
    while($riga=mysql_fetch_assoc($risultato_query)){ 
    Infine mettere fuori dal ciclo while:
    Codice PHP:
    echo"<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"

  3. #3
    Ho provato a cambiare il codice seguendo le istruzioni

    Codice PHP:
    <?
    INCLUDE('connessione.php');
    $sql="SELECT * FROM cinema,film WHERE cinema.idcinema = film.cinema"
    $risultato_query=mysql_query($sql);

        while(
    $riga=mysql_fetch_assoc($risultato_query)){
                  
                  
    $idcinema=$riga['idcinema'];
                  
    $nomecinema=$riga['nomecinema'];
                   
    $indirizzo=$riga['indirizzo'];
                    
    $citta=$riga['citta'];
             
         
    $titolo=$riga["film"];
         
    $linkfilm=$riga["linkfilm"];
         
    $orario=$riga["orario"];

    }
    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
      echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Nome cinema</td>";
      echo
    "<td >$nomecinema</td>";
     echo
    "</tr>";
     echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Indirizzo</td>";
       echo
    " <td class=\"newstesto\">$indirizzo</td>";
       echo
    " <td class=\"titolo\">Citt&agrave;</td>";
        echo
    "<td class=\"newstesto\">$citta</td>";
      echo
    "</tr>";

      echo
    "<tr> ";             

       echo
    " <td class=\"titolo\">Film</td>";
       echo
    " <td class=\"newstesto\">$titolo film</td>";
       echo
    " <td class=\"titolo\">Orario</td>";
       echo
    " <td class=\"newstesto\">$orario</td>";
       echo
    " <td class=\"titolo\">collegamento</td>";
       echo
    " <td class=\"newstesto\">$linkfilm</td>";
      echo
    "</tr>";

         
    echo
    "<tr>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
     echo
    " </tr>";
            

    echo
    "</table>";


    ?>
    solo che ora stampa unicamente un record dalla tabella principale con un solo record correlato dalla tabella secondaria, mentre il resto no.
    come posso sistemarlo?

  4. #4
    Io intendevo così:

    Codice PHP:
    <? 
    INCLUDE('connessione.php'); 
    $sql="SELECT * FROM cinema,film WHERE cinema.idcinema = film.cinema"
    $risultato_query=mysql_query($sql); 

    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"

    while(
    $riga=mysql_fetch_assoc($risultato_query))

                  
    $idcinema=$riga['idcinema']; 
                  
    $nomecinema=$riga['nomecinema']; 
                   
    $indirizzo=$riga['indirizzo']; 
                    
    $citta=$riga['citta']; 
              
         
    $titolo=$riga['film']; 
         
    $linkfilm=$riga['linkfilm']; 
         
    $orario=$riga['orario']; 


      echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Nome cinema</td>"
      echo
    "<td >$nomecinema</td>"
    echo
    "</tr>"
    echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Indirizzo</td>"
       echo
    " <td class=\"newstesto\">$indirizzo</td>"
       echo
    " <td class=\"titolo\">Citt&agrave;</td>"
        echo
    "<td class=\"newstesto\">$citta</td>"
      echo
    "</tr>"

      echo
    "<tr> ";             
       echo
    " <td class=\"titolo\">Film</td>"
       echo
    " <td class=\"newstesto\">$titolo film</td>"
       echo
    " <td class=\"titolo\">Orario</td>"
       echo
    " <td class=\"newstesto\">$orario</td>"
       echo
    " <td class=\"titolo\">collegamento</td>"
       echo
    " <td class=\"newstesto\">$linkfilm</td>"
      echo
    "</tr>"

         
    echo
    "<tr>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
    echo
    " </tr>"
    }  
     

    echo
    "</table>"


    ?>

  5. #5
    Ciao!
    Intanto grazie per aver risposto.

    ho fatto copia e incolla del codice da te postatomi.
    Purtroppo li stampa in quest'ordine:


    Nome cinema Ariston
    Indirizzo Via Cav Città Catania
    Film La cena per farli conoscere film Orario 22.30 collegamento http://www.mymovies

    Nome cinema Capitol
    Indirizzo Via giuf Città Catania
    Film Arthur e il popolo dei Minimei film Orario 10.30 collegamento http://www.mymovies.it

    Nome cinema Ariston
    Indirizzo Via Filo Città Catania
    Film la pimpa film Orario 20.30 collegamento la TROMBA

    mentre io vorrei farli visualizzare in questo modo:

    Nome cinema Ariston
    Indirizzo Via Cav Città Catania
    Film La cena per farli conoscere film Orario 22.30 collegamento http://www.mymovies
    Film la pimpa film Orario 20.30 collegamento la TROMBA

    Nome cinema Capitol
    Indirizzo Via giuf Città Catania
    Film Arthur e il popolo dei Minimei film Orario 10.30 collegamento http://www.mymovies.it

    Come posso fare?

  6. #6
    Prova con questo e fammi sapere...

    Codice PHP:
    <? 
    INCLUDE('connessione.php'); 
    $sql="SELECT * FROM cinema"
    $risultato_query=mysql_query($sql); 

    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"

    while(
    $riga=mysql_fetch_assoc($risultato_query)) 

                  
    $idcinema=$riga['idcinema']; 
                  
    $nomecinema=$riga['nomecinema']; 
                   
    $indirizzo=$riga['indirizzo']; 
                    
    $citta=$riga['citta']; 
     
      echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Nome cinema</td>"
      echo
    "<td >$nomecinema</td>"
    echo
    "</tr>"
    echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Indirizzo</td>"
       echo
    " <td class=\"newstesto\">$indirizzo</td>"
       echo
    " <td class=\"titolo\">Citt&agrave;</td>"
        echo
    "<td class=\"newstesto\">$citta</td>"
      echo
    "</tr>"
      
    $sql1 "
    SELECT * 
    FROM film AS f
    WHERE f.cinema = 
    $idcinema
    "

    $risultato_query1=mysql_query($sql1); 

    while(
    $riga1=mysql_fetch_assoc($risultato_query1)) 


        
    $titolo=$riga1['film']; 
         
    $linkfilm=$riga1['linkfilm']; 
         
    $orario=$riga1['orario']; 
         
         
      echo
    "<tr> ";              
       echo
    " <td class=\"titolo\">Film</td>"
       echo
    " <td class=\"newstesto\">$titolo film</td>"
       echo
    " <td class=\"titolo\">Orario</td>"
       echo
    " <td class=\"newstesto\">$orario</td>"
       echo
    " <td class=\"titolo\">collegamento</td>"
       echo
    " <td class=\"newstesto\">$linkfilm</td>"
      echo
    "</tr>"
    }
          
    echo
    "<tr>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
    echo
    " </tr>"



    echo
    "</table>"


    ?>

  7. #7
    Ho cambiato come dici tu:

    Codice PHP:

    <?




    INCLUDE('connessione.php');

    //$sql="SELECT * FROM cinema,film WHERE cinema.idcinema = film.cinema"; 
    $sql " SELECT * FROM cinema AS c INNER JOIN film AS f ON f.cinema = c.idcinema GROUP BY c.nomecinema ";


    $risultato_query=mysql_query($sql);

    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";


        while(
    $riga=mysql_fetch_assoc($risultato_query)){

                  
                 
    $idcinema=$riga['idcinema'];
                
    $nomecinema=$riga['nomecinema'];
                   
    $indirizzo=$riga['indirizzo'];
                    
    $citta=$riga['citta'];

    $cinema=$riga['cinema'];
                 
    $titolo=$riga["film"];
                 
    $linkfilm=$riga["linkfilm"];
                 
    $orario=$riga["orario"];



      echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Nome cinema</td>";
      echo
    "<td >$nomecinema</td>";
     echo
    "</tr>";
     echo
    "<tr> ";
      echo
    "  <td class=\"titolo\">Indirizzo</td>";
       echo
    " <td class=\"newstesto\">$indirizzo</td>";
       echo
    " <td class=\"titolo\">Citt&agrave;</td>";
        echo
    "<td class=\"newstesto\">$citta</td>";
      echo
    "</tr>";
            
      echo
    "<tr> ";             


       echo
    " <td class=\"titolo\">Film</td>";
       echo
    " <td class=\"newstesto\">$titolo film</td>";
       echo
    " <td class=\"titolo\">Orario</td>";
       echo
    " <td class=\"newstesto\">$orario</td>";
       echo
    " <td class=\"titolo\">collegamento</td>";
       echo
    " <td class=\"newstesto\">$linkfilm</td>";
      echo
    "</tr>";

         
    echo
    "<tr>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
       echo
    " <td></td>";
     echo
    " </tr>";
        }    

    echo
    "</table>";

    ?>
    solo che ora il risultato è questo:

    Nome cinema Ariston
    Indirizzo Via Cav Città Catania
    Film La cena per farli conoscere film Orario 22.30 collegamento http://www.mymovies

    Nome cinema Capitol
    Indirizzo Via giuf Città Catania
    Film Arthur e il popolo dei Minimei film Orario 10.30 collegamento http://www.mymovies.it

  8. #8
    Poi ho mod il post di prima così:

    Codice PHP:
    <? 
    INCLUDE('connessione.php'); 
    $sql="SELECT * FROM cinema"
    $risultato_query=mysql_query($sql); 

    echo
    "<table width=\"374\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"

    while(
    $riga=mysql_fetch_assoc($risultato_query)) 

                  
    $idcinema=$riga['idcinema']; 
                  
    $nomecinema=$riga['nomecinema']; 
                   
    $indirizzo=$riga['indirizzo']; 
                    
    $citta=$riga['citta']; 

      echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Nome cinema</td>"
      echo
    "<td >$nomecinema</td>"
    echo
    "</tr>"
    echo
    "<tr> "
      echo
    "  <td class=\"titolo\">Indirizzo</td>"
       echo
    " <td class=\"newstesto\">$indirizzo</td>"
       echo
    " <td class=\"titolo\">Citt&agrave;</td>"
        echo
    "<td class=\"newstesto\">$citta</td>"
      echo
    "</tr>"
       
    $sql1 
    SELECT * 
    FROM film AS f 
    WHERE f.cinema = 
    $idcinema 
    "

    $risultato_query1=mysql_query($sql1); 

    while(
    $riga1=mysql_fetch_assoc($risultato_query1)) 


        
    $titolo=$riga1['film']; 
         
    $linkfilm=$riga1['linkfilm']; 
         
    $orario=$riga1['orario']; 
         
         
      echo
    "<tr> ";               
       echo
    " <td class=\"titolo\">Film</td>"
       echo
    " <td class=\"newstesto\">$titolo film</td>"
       echo
    " <td class=\"titolo\">Orario</td>"
       echo
    " <td class=\"newstesto\">$orario</td>"
       echo
    " <td class=\"titolo\">collegamento</td>"
       echo
    " <td class=\"newstesto\">$linkfilm</td>"
      echo
    "</tr>"

           
    echo
    "<tr>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
       echo
    " <td></td>"
    echo
    " </tr>"



    echo
    "</table>"


    ?>

  9. #9
    FUNZIONA!
    Sei stato veramente Gentile. 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.