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

    [MySQL] Struttura DB da testare per MULTILINGUA

    Salve,
    se possibile mi servirebbe un consiglio su come impostare le Tabelle nel Database per un sito dinamico in Multilingua dove all'interno dovrò gestire un Catalogo di prodotti con Categorie.


    Io in passato ho fatto la seguente struttura tabellare:
    codice:
    prodotti ( contiene tutti i campi che non devono essere tradotti )
    
    id_prodotto   int(11) NOT NULL AUTO_INCREMENT,
    cod_prodotto   char(15) NOT NULL,
    disponibilita   int(11) NOT NULL,
    data_inserimento   datetime NOT NULL
    
    
    
    prodotti_ln ( contiene tutti i campi che devono essere tradotti )
    
    id_prodotto   int(11) NOT NULL,
    ln   char(2) NOT NULL,
    nome_prodotto   varchar(255) NOT NULL,
    dettagli_prodotto   text NOT NULL
    - dove nella tabella "prodotti_ln"
    il campo "id_prodotto" non è AUTO_INCREMENT, perchè devo inserire il valore dell'id_prodotto dalla tabella "prodotti".

    - dove nel campo "ln" inserisco la lingua di traduzione, es: IT, EN, FR, etc..

    - gli altri campi contengono valori da tradurre in lingua.


    Quando interrogo per estrarre tutti i prodotti in Italiano utilizzo la seguente Query:

    codice:
    SELECT 
    prodotti.id_prodotto,
    prodotti.cod_prodotto,
    prodotti.disponibilita,
    prodotti.data_inserimento,
    prodotti_ln.ln,
    prodotti_ln.nome_prodotto,
    prodotti_ln.dettagli_prodotto 
    FROM prodotti
    LEFT OUTER JOIN prodotti_ln ON (prodotti.id_prodotto = prodotti_ln.id_prodotto) 
    WHERE (prodotti_ln = 'IT')
    Cosa ne pensate ??
    Mi date delle ditte in fatto di Prestazioni, Struttura o Altro ??

    Grazie mille!

  2. #2
    Mi sembra una buona soluzione. Anche come hai strutturato le tabelle va bene

    Io non vedo controindicazioni

  3. #3
    Grazi, se il campo --> ln CHAR(2) fosse un tipo INTEGER(11) sarebbe indizizzato in maniera migliore o più prestante ?

  4. #4
    Quello non lo avevo notato, forse sarebbe meglio avere una tabella lingue (id-lingua, sigla, lingua) ad esempio

    1 IT Italia
    2 FR Francia
    ...

    ed id-lingua lo metti come chiave esterna nella tabella prodotti_ln

    PS: ovviamente poi cambia le SELECT

  5. #5
    certo, grazie ancora, ciao !!!

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.