Visualizzazione risultati 1 fino 4 di 4

Discussione: 1 a molti innodb, come si fa?

  1. #1
    Guest

    Predefinito 1 a molti innodb, come si fa?

    Salve a tutti,
    come da titolo come si fa con innodb in altervista a collegare 2 tabelle?
    io ho la prima tabella che contiene i continenti e la seconda che contiene le nazioni,
    ma per legarle cosa devo fare?

    le tabelle sono così al momento
    Continenti
    id + continente

    Nazioni
    id + nazioni

    devo aggiungere qualcosa?

  2. #2
    Guest

    Predefinito

    Se usi php per estrapolarne i dati potresti aggiungere alla tabella nazioni un campo "continente_id" cosi per ogni continente selezioni le nazioni "where continente_id = $continente"

  3. #3
    Guest

    Predefinito

    grazie conpetenzepertutti
    sono autodidatta, non sono così avanti, ma capisco in fretta
    mi spieghi meglio, grazie

    ps: si php e mysql con innodb come motore

  4. #4
    Guest

    Predefinito

    Beh, non saprei come spiegartelo meglio :P
    Comunque:
    1) Crei, da phpmyadmin, un nuovo campo nella tabella "Nazioni" chiamato, ad esempio, "continente_id" (puoi chiamarlo come vuoi)
    2)Ad ogni nazione associ l'id del continente a cui appartiene
    Esempio:
    id----continente
    1 ----Europa
    2 ----Asia
    3 ----America
    ecc...

    id----nazione----continente_id
    1 ----Italia ----1
    2 ----Germania --1
    3 ----Brasile ---3
    4 ----Cina ------2
    5 ----Belgio ----1
    6 ----Canada ----3
    ecc...

    3)Con php poi gestisci il tutto (non so cosa vuoi fare, quindi faccio un banale esempio):
    Codice PHP:
    $query = mysqli_query($con, "SELECT * FROM nazione WHERE continente_id = 1"):
    while(
    $fetch = mysqli_fetch_array($query)){
    echo
    "Il continente ".$fetch['nazione']." &egrave; in Europa <br/>";
    }
    $query = mysqli_query($con, "SELECT * FROM nazione WHERE continente_id = 2"):
    while(
    $fetch = mysqli_fetch_array($query)){
    echo
    "Il continente ".$fetch['nazione']." &egrave; in Asia <br/>";
    }
    $query = mysqli_query($con, "SELECT * FROM nazione WHERE continente_id = 3"):
    while(
    $fetch = mysqli_fetch_array($query)){
    echo
    "Il continente ".$fetch['nazione']." &egrave; in America <br/>";
    }
    //ecc...
    Modifica i comandi php in base a quelli che usi, ad esempio se usi "mysql_*" scriverai "mysql_query()", se usi php ad oggetti usi "$query = new ecc.."
    Oppure, non ne sono sicuro, puoi fare una vista in MySQL, ma non so bene come funzionano...
    Ultima modifica di competenzepertutti : 26-01-2016 alle ore 20.42.49

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •