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

    strutturare db per sito multilingua complesso

    ciao a tutti.
    devo realizzare un sito in 3 lingue e vorrei poter gestire il tutto in asp e access.

    il mio problema è che non so come fare, cioè non so come inserire i dati nel db in 3 lingue, per esempio:

    ID_prodotto
    codice
    nome
    nome_inglese
    nome_tedesco
    descrizione
    descrizione_inglese
    descrizione_tedesco

    così può andare?
    ma poi come faccio a richiamare i testi in tedesco quando uno clicca sulla bandierina??

    grazie mille, è abbastanza urgente....

    ciao e a buon rendere!
    http://www.ecogiochi.it - il primo blogames del pianeta
    http://www.grogonet.com - Grog on network

  2. #2
    ne ho parlato meno di 2 giorni fa con seso7...
    ma perchè non usate la ricerca?

    in quel caso si parlava di file con costanti, ma usare un db cambia poco

    in ogni caso (visto che forse non era stata pubblicata tutta la soluzione) ecco un esempio pratico

    file da includere in TUTTE le pagine

    inc.language.asp
    codice:
    dim setLang, currentLang
    
    'IMPOSTA IL COOKIE
    setLang = normalize(request.QueryString("lang"),"italiano|inglese|tedesco","")
    if setLang <> "" then response.Cookies("lingua") = setLang
    
    currentLang = normalize(request.Cookies("lingua"),"italiano|tedesco","inglese")
    esempio di una pagina
    codice:
    <%
    'connessione al db  già considerata effettuata
    
    'esempio di query
    SQL = "SELECT nome_" & currentLang & " AS nome, descrizione_" & currentLang & " AS descrizione, codice, ID_prodotto FROM miatabella WHERE ID_prodotto = " & id
    
    %>
    esempio di bandierine da mettere nella pagina per cambiare lingua
    ovviamente sto immaginando la tabella strutturata così

    ID_prodotto
    codice
    nome_italiano
    nome_inglese
    nome_tedesco
    descrizione_italiano
    descrizione_inglese
    descrizione_tedesco
    san imente saluta

    * http://simonecingano.it *

  3. #3
    può andare? mah, se sei arcisicuro che le lingue rimarranno sempre 3 e non aumenteranno si potrebbe dire pure di si...poi dipende anche da quanti campi text devi gestire nel db

  4. #4
    Ti sconsiglio vivamente di usare una sola tabella, ma spezza le informazioni su più tabelle.

    Le informazioni che non vengono modificate nelle varie lingue le tieni in una tabella singola,
    quelle delle lingue le sposti in una tabella specifica, una cosa del genere :

    Tabella principale (prodotti)

    ID_Prodotto
    Codice
    Prezzo

    e altre cose che sono univoche

    Tabella descrizioni (dei prodotti)

    ID_Prodotto
    ID_Lingua (IT, EN, DE) e questi due campi saranno le chiavi
    Nome
    Descrizione

    Ogni riga di questa tabella conterrà le informazioni per ogni singola lingua, così potrai avere quante lingue vuoi.

    Per l'estrazione ti basta fare una JOIN tra le due tabelle, molto semplice e il gioco è fatto
    (in esempio SELECT Prodotti.ID_Prodotto, Prodotti.Codice, Prodotti.Prezzo, Descrizioni.Nome, Descrizioni.Descrizione FROM Prodotti, Descrizioni WHERE Prodotti.ID_Prodotto = Descrizioni.ID_Prodotto AND ID_Lingua = 'IT')

  5. #5
    elastico

    concordo
    san imente saluta

    * http://simonecingano.it *

  6. #6
    io avrei lasciato che lo capisse da solo, aiuta

  7. #7
    Io gli ho dato una soluzione, sta a lui capirla, approfondirla e applicarla...

  8. #8
    grazie a tutti per le risposte!

    purtroppo sono un neofita di asp e alcune cose le sto conoscendo solo ora per la prima volta.

    per esempio il JOIN tra tabelle non so cosa sia, è praticamente una query da access?

    il cliente potrà autonomamente inserire/modificare/cancellare i vari prodotti nelle 3 o più lingue... come è meglio comportarsi?
    tutte le lingue in un unico inserimento? e se sì, come faccio a inserire tutti i dati in 3 tabelle differenti?

    grazie ancora di tutto
    http://www.ecogiochi.it - il primo blogames del pianeta
    http://www.grogonet.com - Grog on network

  9. #9
    potresti:

    - fargli inserire tutte le lingue insieme, segnandoti le textarea per quale lingua sono

    - mettiamo che 1=italiano,2=inglese,3=tedesco

    codice:
    pagina inserimento:
    
    for i=1 to 3
    
    testo=trim(request.form(i & "_testo_textarea"))
    
    sql="insert into...."
    
    next
    l'insert è normale (poi dipende da come identifichi la lingua nelle tabelle, se numericamente o testualmente)

    - le join sono sintassi SQL, non asp... se cerchi su google penso troverai due mondi interi, non uno solo, a riguardo

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.