Avatar billede janomel Nybegynder
18. juli 2005 - 00:25 Der er 6 kommentarer og
1 løsning

Flere sprog på site, med asp og access

Hej alle.

Det her har været op flere gang Og jeg har ogsås læst de tråde, jeg kunne finde med emnet, dog ude at komme videre med mit problem.

Jeg sider og er ved at finde ud af hvor da jeg via en db, kan have flere sprog på siten, da jeg har asp, en access db smat bla. en menu der bliver lavet ud fra en db.

Men har følgende spørgsmål.

1. Er der eksempler, eller hvordan laves det med flere sprog og en access db. Altså en side der skal kunne vise sprog. Hvor man tager højte mht. sprog i browser (håber i forstår) eller at brugeren ønsker at skifte sprog. Via et link.

2. Det som jeg, har forsøgt mig med, mht sprog. Er denne menu:
<%
' SQL forespørgsel
strSQL = "Select * from menu"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

While Not RS.EOF OR RS.BOF
'udskriv indholdet fra databasen
If RS("Type") < Test Then
Response.Write("Type")

End If

Response.Write("<A HREF=""" & RS("link") & """>" & RS("menu_dk") & "</A>")
Test = RS("Type")
RS.MoveNext
Wend
%>

tabellen ser sådan ud:
ID
menu_dk
menu_uk
link
type

Er der en der kan vise mig hvordan søren man for sprog ud af den. Har forsøgt en del løsninger fra bl.a eksperten.dk men uden held.

Håber i kan hjælpe.
Avatar billede janomel Nybegynder
18. juli 2005 - 00:28 #1
Sorry glemte forklaring til tabellen:
ID (Unik nøgle)
menu_dk (Dansk menu tekst)
menu_uk (Engelsk menu tekst)
link - (URL/link til sidens indhold. Ps. undersøg mappe strukturen)
type - (Bruges ikke)
Avatar billede jss Nybegynder
18. juli 2005 - 12:54 #2
Ofte ser man sprogvalg løst vha. parameter i URL´en - feks. "dinside.asp?language=dk" og så bruge denne parameter til opbygning af SQL-sætningen.

Dim sprog
if Request.QueryString("language") = "dk" Then
  strSQL = "Select ID,menu_dk AS sprog,link from menu"
elseif Request.QueryString("language") = "uk" Then
  strSQL = "Select ID,menu_uk AS sprog,link from menu"
else
  strSQL = "Select ID,menu_dk AS sprog,link from menu"
end if

Nu skal udskrivning se således ud:
Response.Write("<A HREF=""" & RS("link") & """>" & RS("sprog") & "</A>")

RS("sprog") indeholder enten dansk eller engelsk alt efter parameter i URL
Avatar billede janomel Nybegynder
18. juli 2005 - 14:42 #3
takker for svaret, Men jeg har sidet og forsøgt mig med URL parameter uden held. Er der en artikel som er god om dette. For det jeg har fundet rundt omkring, kan jeg ik få til at virke. Og ligger man dem ind i f.eks. en header fil. Eller hvordan gøres dette?
Avatar billede janomel Nybegynder
18. juli 2005 - 15:20 #4
Jeg har forsøgt flere ting, men browser medler ud med:
Typer stemmer ikke overens: 'RS' og henviser til denne linje
Response.Write("<A HREF=""" & RS("link") & """>" & RS("sprog") & "</A>")

Er det så fordi jeg mangle, at lave noget på de andre sider, da menu´en er bare via include, jeg har godt nok bare lavet en link som forslået via a href= dinside.asp?language=dk
Avatar billede janomel Nybegynder
18. juli 2005 - 23:30 #5
Åhh bare der var en der kunne hjælpe mig videre ;) For nu tro jeg sq jeg opgiver
Avatar billede janomel Nybegynder
19. juli 2005 - 09:40 #6
Lukker
Avatar billede jss Nybegynder
20. juli 2005 - 10:35 #7
Giv endelig ikke op - det skal nok komme til at virke :-)
Jeg har lavet en ny variant, hvor det hele foregår inde i wend-while løkken - prøv om du kan få det til at virke.

<%
' SQL forespørgsel
strSQL = "Select * from menu"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

Dim sprog
While Not RS.EOF OR RS.BOF
'udskriv indholdet fra databasen
  If RS("Type") < Test Then
    Response.Write("Type")
  End If

  if Request.QueryString("language") = "dk" Then
    sprog = RS("menu_dk")
  elseif Request.QueryString("language") = "uk" Then
    sprog = RS("menu_uk")
  else
    sprog = RS("menu_dk")
  end if

  Response.Write("<A HREF=""" & RS("link") & """>" & sprog & "</A>")
  Test = RS("Type")
  RS.MoveNext
Wend
%>
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester