Avatar billede rickie Juniormester
16. februar 2005 - 09:55 Der er 4 kommentarer og
1 løsning

Hentning fra database generer mig - forslag?

Hej alle eksperter,

Der er 5 sprog i databasen. feks Sverige, Sweden, Schweden, Danmark, Danmark, Dänemark osv.

Dette er den anden del av Request.QueryStringen <Else>.
Variabel er sat til CountryId (45,46,47,49,358).

På linie 7-10 henter jeg "Country" der hvor CountryId = CountryId. Dette for at hente korrekt sprog fra databasen.
Den er også god nok men på linie 10 skriver jeg ud linket og det resulterer så i at alle resultater er detsamme fordi jeg jo har hentet WHERE countryId = CountryId (Linie 7).

Er der en haj som ved hvordan jeg kan få den at hente sprog udfra CountryId (Danmark=dansk, Sverige=svensk osv.) men stadig skrive ud linket:
<option value='index.asp?CountryId=45'>Danmark</option>
<option value='index.asp?CountryId=46'>Sverige</option>
<option value='index.asp?CountryId=47'>Norge</option>
<option value='index.asp?CountryId=49'>Tyskland</option>
<option value='index.asp?CountryId=358'>Finland</option>


KODE!
<!-- HVIS COUNTRY PARAMETER ER SAT, VISES ALLE ALIGEVEL -->
1  <%
2  Else
3  %>

5  <select name="DB1" style="width:150" onchange="linkselect this.options[this.selectedIndex].value)">
6  <%
7  SQL = "SELECT CountryId, Country FROM DBLanguage WHERE CountryId = "& CountryId &""
8  Set rs = Conn.Execute(SQL)
9  Do While Not rs.EOF
10 Response.Write "<option value='index.asp?CountryId="& CountryId &"'>"&rs("Country")&"</option>"
11  rs.MoveNext
12  Loop
13  %>
14  </select>
15  <% End If %>
Avatar billede ras2000 Nybegynder
16. februar 2005 - 11:39 #1
Hvordan ser tabellen DBLanguage ud? Jeg ville mene at der skulle være min tre kolonner i tabellen, en med et sprog id, en med ordlyden, og en anden med sprogid. ex.:
sprid  land    landid
1      Danmark  45
2      Denmark  45
1      Sverige  46
2      Sweden  46
Det er jo to forskellige ting du taler om. Hvilket sprog tingene skal vises i, og hvilket land der er tale om.
Avatar billede rickie Juniormester
16. februar 2005 - 13:12 #2
Det er lidt svært at forklare hvordan den ser ud. Det er flere tabeller med en kobbling mod.
Måske har jeg også bygget databasen op forkert? Om du har lyst, så vil jeg gerne maile den til dig så at du kan kigge på og eventuelt forklare hvad jeg har gjort forkert, så du får et overblik.
Selvfølgelig skal fortsat diskussion fortsætte på Eks.
Avatar billede ras2000 Nybegynder
16. februar 2005 - 13:18 #3
Det tror jeg ikke er nødvendigt. Men du skal have to lande id'er. Et for hvilket sprog du vil vise tingene i, og et til ... index.asp?countryID= sætningen. Hvis du tager mit eksempel, så ville din sql sætning se sådan her ud:
SQL = "SELECT landid, land FROM DBLanguage WHERE sprid = "& CountryId &""
og linie 10 i din kode ville se sådan her ud:
10 Response.Write "<option value='index.asp?CountryId="& landid &"'>"&rs("land")&"</option>"
Så er det ligegyldigt hvad der ellers er af felter i tabellen, og hvad de er koblet sammen med.
Avatar billede rickie Juniormester
16. februar 2005 - 14:02 #4
Ja, det var godt nok sejt! Sådan havde jeg slet ikke tænkt. Har prøvet alle muligheder foruden denne.

Mange tak for hjælpen! Svar for dine points :-)
Avatar billede ras2000 Nybegynder
16. februar 2005 - 14:07 #5
Svar!
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