Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22

Discussione: Dilemma su foreign key

  1. #1

    Dilemma su foreign key

    mi sto creando un'applicazione per la libreria di casa.
    ho creato un db con queste tabelle:
    codice:
    mysql> desc author;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | author_id | int(11)     | NO   | PRI | NULL    | auto_increment |
    | nome      | varchar(20) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    2 rows in set (0.00 sec)
    
    mysql> desc editor;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | editor_id | int(11)     | NO   | PRI | NULL    | auto_increment |
    | nome      | varchar(20) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    2 rows in set (0.00 sec)
    
    mysql> desc book;
    +---------+--------------+------+-----+---------+----------------+
    | Field   | Type         | Null | Key | Default | Extra          |
    +---------+--------------+------+-----+---------+----------------+
    | book_id | int(11)      | NO   | PRI | NULL    | auto_increment |
    | title   | varchar(20)  | NO   |     | NULL    |                |
    | author  | int(11)      | NO   | MUL | NULL    |                |
    | editor  | int(11)      | NO   | MUL | NULL    |                |
    | price   | decimal(3,2) | NO   |     | NULL    |                |
    +---------+--------------+------+-----+---------+----------------+
    5 rows in set (0.00 sec)
    la teballa title ha due foreign key: author e editor che si riferiscono alle chiavi primarie delle rispettive tabelle.
    come faccio a fargli dire di popolare tutte le tabelle contemporaneamente se ce fosse bisogno?
    nel senso, quando andrò a scrivere il primo libro io nn ho ne un autore ne un editore.
    ma nn vorrei creare tre form separati, ma un unico nel qual inserire i dati se ce ne è bisogno.
    nn so se mi sono spiegato bene......

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    non è molto semplice quello che chiedi, io farei con + form.......
    altrimenti puoi usare ajax per cambiare dinamicamente la form a seconda che si vogli inserire un libro di una nuova casa editrice o di una casa editrice gia esistente

  3. #3
    ajax eh!!
    nn sono espertissimo ma effettivamente potrei provare.
    potrei mettere un menu a tendina con tutti gli autori e uno per gli editori con delle voci Aggiungi.
    se ci clicco mi compare un form per aggiungere editori/autori.
    provo e ti faccio sapere.
    intanto grazie.

  4. #4
    un form dovrebbe bastare.
    metti una select per la scelta dell'autore, e un campo di testo per un nuovo autore.

    poi basta che ne valorizzi uno e in base a questo inserisci i dati nelle tabelle.
    Ciao!

  5. #5
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    esatto la mia idea era proprio quella che hai detto

    buon lavoro

  6. #6
    Non ho capito bene qual e' il problema. Tu hai un form in cui compili titolo, autore e casa editrice. Lo script che processera' il form verifichera' se autore e casa editrice sono gia' presenti nelle rispettive tabelle: se lo sono si segna i codici, se non lo sono li inserisce e si segna i codici.

    Successivamente inserisce la entry nella tabella books.

    Non hai pero' considerato la concreta possibilita' che un libro abbia piu' autori.

  7. #7
    Originariamente inviato da k.b
    .....
    Non hai pero' considerato la concreta possibilita' che un libro abbia piu' autori.
    azz è vero.
    è possibile modificare le tabella per considerare questa possibilità?

  8. #8
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    @k.b

    Poter selezionare la casa editrice fra quelle gia esistenti (oltre a essere + veloce) fa in modo che si evitino errori di battitura che comporterebbero l'aggiunta di una nuova casa editrice.

    Un'altra idea che mi è venuta in mente ora è quella di fare una input text con suggeritore sempre da realizzare in ajax

  9. #9
    Originariamente inviato da k.b
    Non ho capito bene qual e' il problema. Tu hai un form in cui compili titolo, autore e casa editrice. Lo script che processera' il form verifichera' se autore e casa editrice sono gia' presenti nelle rispettive tabelle: se lo sono si segna i codici, se non lo sono li inserisce e si segna i codici.

    Successivamente inserisce la entry nella tabella books.

    Non hai pero' considerato la concreta possibilita' che un libro abbia piu' autori.
    Infatti, io ho fatto un sito per una casa editrice locale...
    In ogni caso, c'è la possibilità che un autore venga inserito più volte.

    D'angelo
    D' angelo
    D'Angelo
    ecc...

    O casi di omonimie che non potresti gestire.

    Io farei inserire prima l'autore o gli autori... e poi con una serie di checkbox, selezionerei quelli del libro in inserimento.
    Ciao!

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Per i multiautore puoi usare sempre una input text separando i vari autori con una virgola o punto e virgola sempre con suggeritore.... suggerisci a partire dai caratteri dell'ultimo punto e virgola

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.