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

    Query e ciclo su due tabelle

    Ciao,
    il problema dovrebbe essere relativamente semplice, almeno credo,

    ho in un database 3 tabelle chiamate corsi, moduli e files, i corsi sono appunto dei corsi es. "Corso di web design", il modulo è una materia associata al corso es. "modulo di dreamweaver", e i files sono appunto dei file di testo o .pdf relativi al modulo, diciamo gli appunti della lezione del giorno di quel modulo

    schematicamente ecco le tre tabelle:
    corsi - campi: titolo e id_corso)
    moduli - campi: titolo id_corso (al quale è associato) e id_modulo
    files - campi nome_file, id_corso id_modulo e id_file

    a questo punto nascono i problemi, per me ovviamente, come posso stampare in una pagina tutto quello che c'è nel corso?

    es:
    la pagina corso.php?id_corso=1 dovrebbe avere:

    titolo del corso
    modulo associato
    files associati al modulo


    ecco un esempio pratico:

    Corso di web design
    Modulo di Dreamweaver
    file_della lezione 3
    file della lezione 2
    file della lezione 1

    Modulo di Photoshop
    file_della lezione 3
    file della lezione 2
    file della lezione 1

    ecc... ecc...

    ecco
    in pratica dovrebbe stampare il nome del corso, il primo modulo e poi tutti i files associati a quel modulo, poi il secondo modulo e tutti files associati e così via

    spero di essere stato chiaro,
    grazie
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    19
    a prescindere dal fatto che non conosco che db usi cmq la cosa non cambia...

    ti faccio un esempio con sql...

    ///////////////////////
    $query = "SELECT * FROM moduli WHERE id_corso=$id_corso";
    $result = mysql_query($query,$db);
    while ($row = mysql_fetch_array($result)){
    echo $row[titolo];

    $query1 = "SELECT * FROM files WHERE id_corso=$row[id_corso]";
    $result1 = mysql_query($query,$db);
    while($row1 = mysql_fetch_array($result1)){
    echo $row1[nome_file];
    }
    }
    /////////////////////

    l'ho fatto a occhio ma dovrebbe funzionare...
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    19
    scusa la seconda query è:
    "select * from files where id_modulo=$row[id_modulo]";

    mi sono confuso...

  4. #4
    intanto grazie, per il db è mysql non so perchè lo davo per scontato,

    allora il codic3e funziona quasi
    operò presenta il problema che mi stampa i moduli correttamente ma mette gli stessi files sotto ogni modulo quando invece dovrebbe stampare i files che hanno come id_modulo identico a quello della catecoria a cui appartengono

    in prarica ora stampa;

    Modulo di Photoshop
    file1_corso_Photoshop.ext
    file1_corso_Dreamweaver.ext

    Modulo di Dreamweaver
    file1_corso_Photoshop.ext
    file1_corso_Dreamweaver.ext


    ti posto il codice cos' come l'ho adattato al mio caso

    $id_corso= "1";
    $query = "SELECT * FROM moduli WHERE id_corso=$id_corso";
    mysql_select_db($database_dmd_conn, $dmd_conn);
    $result = mysql_query($query, $dmd_conn);
    while ($row = mysql_fetch_array($result)){
    echo $row['NomeModulo']."</br>";

    $query1 = "SELECT * FROM user_files WHERE id_corso=$row[id_corso]";
    $result1 = mysql_query($query1,$dmd_conn);
    while($row1 = mysql_fetch_array($result1)){
    echo $row1['NomeFile']."</br>";
    }
    }


    ho messo id_corso=1 per testarlo in locale


    GRAZIE!
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  5. #5
    PERFETTO,
    abbiamo postato contemporaneamente,
    grazie di nuovo!
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    19
    figurati...
    ciao, buon lavoro

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.