Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur bör databasen läggas upp?

Postades av 2004-05-06 14:02:20 - Benni Svensson, i forum access, Tråden har 15 Kommentarer och lästs av 1146 personer

Jag har tidigare lyckats med att göra en app i C#, för att kunna göra asp-sidorna flerspåkiga.
Jag har nu upptäckt, att jag använde mig av fel teknik, jag gjorde en massa include-filer, som innehöll variablerna med det översatta texterna.

Nu försöker jag igen, men tänkte att jag skulle göra det med en databas, men hur bör jag bygga upp databasen för att det skall bli effektivt?

Man måste ju tänka på att mappstrukturen kan variera ganska så kraftigt, och att alla filnamnen inte är unika.

Bra förslag motages med förtjusning.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-06 15:40:46 - Göran Andersson

Gör en tabell med räknare, språk-id, sid-id, text-id och text. Typ:

PageTextId int, räknare
LanguageId int
PageId int
TextId int
PageText varchar(500)

När du ska visa en sida så hämtar du alla texter som har det valda språket och PageId för sidan. Använd GetRows för att läsa in datat i en array så kan du enkelt leta rätt på en text med ett visst TextId.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-06 19:31:07 - Benni Svensson

Hej Göran, tack för snabbt svar.

Jag är nog lite konfundersam över dit svar.
>PageTextId int, räknare
>LanguageId int
>PageId int
>TextId int
>PageText varchar(500)
PageTextId den är jag på det klara med
LanguageId borde väl vara kopplat till en annan tabell för att få med flera språk?
PageId int är väll det som skall göra sidan unik, men jag förstår nog inte hur, är det tänkt att ha ett "märke" på varje sida?
PageText här är det väll tänkt att texten skall in men jag tror inte att det fungera heller.

Som jag har tänkt (jag bygger just nu appen i C#) så skall jag markera ett text-stycke, detta skall då in i databasen.

Om jag förklarar hur jag gjorde när jag använde include filer.
På varje sida så includerades en unik fil.
Html filerna döptes om till asp. Den rena texten replacades med ett variabelnamn + ett löpnummer (multilanguage_1, multilanguage_2 osv)
I includefilen så fanns variablerna;
multilanguage_1 = "Hej och välkommen",
multilanguage_2 = "Kul att se er" osv

Riktigt på det sättet kan jag ju inte resonera när det gäller databas, och det är därför som jag ställer frågan.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-07 02:46:01 - Göran Andersson

Jag har en tabell för språken och en tabell för sidorna, men ingen av dessa behövs för att det ska fungera. De används mest i administrationen.

Bestäm nummer på sidorna, som du använder när du hämtar texterna från databasen. Det är PageId.

Ifall du sätter nummer 1 på sidan, svenska är språk 1 och engelska är språk 2, så ligger texterna så här i databasen:

LanguageId, PageId, TextId, PageText
1, 1, 1, 'Hej och välkommen'
1, 1, 2, 'Kul att se er'
2, 1, 1, 'Hello and welcome'
2, 1, 2, 'Nice to see you'


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-07 15:54:36 - Marcus Gus

Varför har både sid- och text-id? Varför inte bara ha en identifierare för varje text, se bara till så att det är en vettig struktur och tänk på att använda generella texter där det går. Tex identifieraren "General\text\submit" betyder Submit på engelska och... ja du fattar.

Läs sedan upp det varje språk i en hastable där id är key och texten value. Lägg sedan varje språks hashtable i an övergripande hastable som du lägger i en applikations variabel.

Då kan ett anrop för att få ut en text se ut så här GetText("SE", "General\text\submit") och funktionen gettext:

if app("myhash").contains(strLang) then
Dim ht as hashtable = app(strLang)
if ht.contains(strText) then
return ht(strtext)
else
return defaulttext....
end if
else
return defaulttext....
end if


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-07 16:02:44 - Göran Andersson

Sid-id är för att man inte ska behöva hämta alla texter som finns i hela tabellen, utan bara de texter som ska vara på just den sidan.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-07 16:09:49 - Marcus Gus

Du har väl inte tänkt göra ett databasanrop för varje gån en sida körs i webservern??? Eller ännu värre, ett anrop för varje text???

Göran Andersson = jobbat på söder vid slussen???


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-07 16:18:47 - Göran Andersson

Jag gör ett databasanrop som hämtar texterna för varje sida som visas.

Hur hade du annars tänkt att hämta texterna?

Nej, jag har inte jobbat på Söder vid slussen. Jag har inte bott i Stockholm på 25 år.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-10 10:12:31 - Marcus Gus

Precis som jag skrev ovan, man läser ut dem i application_onstart och lägger i en hashtable. Då slipper du accessa db för varje sida som visas och det minne som används för att lagra det blir minimalt.

Ett sätt som har använts i flera olika projekt och där db-access minskar samtidigt som man slipper beroende av att texter skall höra till en viss sida. Det enda de har är sin egen unika identifierare och så finns det självklart ett antal generella texter(dumt att lagra texten "OK", "Submit" mm för varje sida som finns när de används överallt). Just nu har vi 4 språk med >1500 texter i varje språk.

Trodde att du var en gammal jobbarpolare som har samma namn som du först, sorry.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-10 17:33:56 - Göran Andersson

Man måste ju göra en avvägning hur man ska använda resurserna. Just arbetsminne är en av resurserna som är begränsade, och det kan ha väldigt negativ inverkan på prestanda ifall man använder för mycket.

Ifall man har en dedikerad server för webbplatsen så kan det ju klart löna sig att lägga texterna i minnet, men om man trängs med andra sajter på samma server så bör man nog vara lite försiktigare med att låsa upp resurser permanent.

Min sida är ju inte lika stor, den har ju bara två språk och sammanlagt lite drygt 1000 texter, eftersom artiklar och liknande ligger i egna tabeller...


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-16 12:37:07 - Benni Svensson

Jag har nu kommit så här långt.
Jag har två tabeller

t_lang
lang_id räknare
shortLang text text (för t ex sv,gb osv)
Lang lang (för hela namnet Sverige England osv)

t_pageSidor
PageID räknare
LangID int
TextId int
PageText PM (vet ju aldrig hur lång texten skall vara, kan vara fel och enbart ha den tell text(250))

Då skulle ju en SQL (tagit den direkt ifrån en fråga i Access) kunna se ut så här:

SELECT t_pageSidor.PageID, t_pageSidor.LangID, t_pageSidor.TextId, t_pageSidor.PageText, t_lang.shortLang
FROM t_lang INNER JOIN t_pageSidor ON t_lang.lang_id = t_pageSidor.LangID
WHERE t_pageSidor.TextId=1 AND t_lang.shortLang="se";

Verkar detta vettigt?


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-16 14:30:33 - Andreas Hillqvist

Har du funderat över språkstödet HTML 4 och XHTML 1 har? Det ger dig många möjligheter att kuna koda din sida i olika språk.


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-16 17:32:14 - Benni Svensson

Nej det har jag inte, det jag pysslar med nu gäller "vanlig" asp.
Tycker du annars att det ser vetigt ut?


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-16 21:55:41 - Göran Andersson

Ja, det ser vettigt ut.

Hämta ut alla texterna för sidan, sorterade på TextID, så är det enkelt att hitta i datat:

SELECT t_pageSidor.PageID, t_pageSidor.LangID, t_pageSidor.TextId, t_pageSidor.PageText, t_lang.shortLang
FROM t_lang INNER JOIN t_pageSidor ON t_lang.lang_id = t_pageSidor.LangID
WHERE t_pageSidor.PageID=42 AND t_lang.shortLang="se"
ORDER BY t_pageSidor.TextID


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-17 10:56:13 - Patrik Dahlén

För ett par år sedan så la jag ut en exempelapplikation i ASP för detta på PlanetSourceCode, http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=7131&lngWId=4

Den har ungefär det upplägg som ni diskuterat här.
Du kanske kan få lite mer idéer och hjälp från den.

/pD
www.pdc.se
www.pdc.se/blog
www.patrik-dahlen.nu


Svara

Sv: Hur bör databasen läggas upp?

Postades av 2004-05-23 00:15:04 - Benni Svensson

Tack för förslag och tankegångar, allt fungerar kanon just nu.


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 875
27 965
271 771
547
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies