Ciclare all'interno tabella Mysql

di il
2 risposte

Ciclare all'interno tabella Mysql

Salve,

ho un sito dedicato ai film gestito con db mysql e php: all'interno del db ho due tabelle: "scheda_film" e "nomi_attori".
tramite una "select" richiamo la scheda film nella pagina, il problema è che dalla tabella "nome_attori" riesco a visualizzare nella pagina solo il primo nome (sono 6 attori per ogni scheda film). Vorrei sapere come fare a ciclare in modo che tutti i nomi degli attori vengano visualizzati?

Grazie per l'aiuto

Tony

2 Risposte

  • Re: Ciclare all'interno tabella Mysql

    Ciao redeagle,
    supponendo che tu abbia relazionato le due tabelle in maniera molto semplice, ed ogni attore possa essere 'ricondotto' ad un determinato film grazie ad una chiave esterna (es id_film) contenuta in una colonna della tabella attori, potresti scrivere qualcosa del tipo:
    
    [...settaggio connection, recupero film, variabile $idfilm ecc..]
    
    $Res = mysql_query("SELECT idattore, nome FROM nomi_attori WHERE id_film=".$idfilm);
    
    while ($rattore = mysql_fetch_array($Res, MYSQL_ASSOC)) {
        echo $rattore["idattore"];    //...id attore 
        echo $rattore["nome"];       //...nome attore
    }
    


    MYSQL_ASSOC -> parametro che permette di restituire un array con chiavi-valori (nome della colonna) e non chiavi 'indice' numerico.
    ...molto semplice, ma poco elegante (sia a livello di db, che di codice php).
    Ciao.
  • Re: Ciclare all'interno tabella Mysql

    Ciao gigadr3w, grazie per la risposta

    la relazione tra le due tabelle è impostata, l'id film è collegato correttamente con l'id attore, infatti riesco a visualizzare il primo attore della scheda film. Ho provato a scrivere la query come hai detto tu ma dà errore (mysql_fetch_array invalid argument) in corrispondenza della linea "while ($rattore = mysql_fetch_array($Res, MYSQL_ASSOC)) {"

    Tony
Devi accedere o registrarti per scrivere nel forum
2 risposte