30. september 2006 - 20:31Der er
2 kommentarer og 1 løsning
Flere sprog - hente fra database
hej..
Mit site har 3 sprog versioner, dansk, norsk og svensk
Jeg har en database med en tabel "sprog" som har id,dk,se,no som kolonner.
Jeg ville gerne på mit site finde en tekst via følgende metode
<%=sprog(3)%> eller <%=sprog_3%>
Hvor "3" svarer til ID nummer i min tabel.
Hvordan trækker jeg det bedst ud af min tabel?
Det er nemt nok at lave en function med "where ID = " bla bla, men gør jo så også at jeg for hvert eneste ord jeg vil hente, skal ind og åbne databasen.. en metode hvor jeg åbnede databasen én gang, ville være mest holdbar.
Har en session("sprog") som angiver hvad sprog brugeren er på..
Forudsat at du bruger Microsoft Access som database, ville du kunne løse det sådan her, hvis jeg da har forstået, hvad problemet er: ------------------------------------------------- <%Set rs = Server.CreateObject("ADODB.RecordSet") Set Conn = Server.CreateObject("ADODB.Connection") strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/database.mdb") Conn.Open strDSN
Sub Sprog(sprogid) strSQL = "SELECT * FROM [sprog] WHERE [id] = " & sprogid Set rs = Conn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then If Session("sprog") = "dk" Then Response.Write rs("dk") ElseIf Session("sprog") = "se" Then Response.Write rs("se") ElseIf Session("sprog") = "no" Then Response.Write rs("no") End If End If rs.Close End Sub%><html> <head> <title>Sprog</title> </head> <body>
</body> </html><%Conn.Close set rs = Nothing set Close = nothing set Conn = nothing%> ------------------------------------------------- Her åbnes og lukkes databasen kun én gang, men der oprettes dog forbindelse til tabellen sprog flere gange. Hvis du helt vil undgå dette, skal du nok benytte et array til at lægge alle posterne ind i. Men det har jeg ikke så godt styr på - i så fald må du nok spørge en anden.
Håber du kunne bruge koden, ellers må du lige forklare, hvad jeg har misforstået. =)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.