Avatar billede gobo Nybegynder
08. januar 2001 - 21:56 Der er 16 kommentarer og
1 løsning

Vise data på anden måde end det står i DB\'en?

Bag denne kryptiske overskrift gemmer der sig en (forhåbentlig) ret simpel problemstilling:

Jeg har en database med kolonnen \"amt\". Brugeren kan vælge op til flere amter i en <SELECT MULTIPLE>, og de skrives som fx. \"Vestsjaelland, Soenderjylland, Sydsjaelland\" osv. i kolonnen \"amt\".

Nu vil jeg gerne vise alle de valgt amter, og det er der jo ingen ben i, men det virker ikke særlig smart at der skrives \"Vestsjaelland\" når der bør stå \"Vestsjælland\".

Så spørgsmålet er, hvordan deler jeg amterne op enkeltvis og så erstatter fx \"vestsjaelland\" med \"vestsjælland\"?

Og nej, jeg kan ikke _bare_ bruge \"replace\", for hvad så med \"aa\", så kommer \"Aalborg\" jo til at hedde \"Ålborg\", og det vil de nok ikke være så glade for.
Avatar billede netsrac Praktikant
08. januar 2001 - 22:18 #1
Hvorfor smider du det ikke ind med æ ø og å, det kan man jo godt bruge som value så hvorfor ikke bruge det ??
Avatar billede gobo Nybegynder
08. januar 2001 - 22:30 #2
Da jeg ikke har lavet de andre 1000+ sider, men kun er blevet spurgt ang. design af den ene side hvor resultatet skal vises, er det ikke muligt at lave databasen (og poster deri) på en anden måde. Desværre
Avatar billede chris2k Nybegynder
08. januar 2001 - 22:34 #3
Så laver du da bare en replace, inden de vises.
Avatar billede netsrac Praktikant
08. januar 2001 - 22:38 #4
Hvor mange forskellige drejer det sig om, du siger amter, men kommer med et bynavn også ?
Avatar billede gobo Nybegynder
08. januar 2001 - 23:00 #5
Det er en lidt speciel opdeling
Avatar billede gobo Nybegynder
08. januar 2001 - 23:03 #6
Det er en lidt speciel opdeling, mere præsist ville nok være \"områder\", \"amt\" er inddelt i forsk. områder, fx. \"Aalborg\", \"Aarhus\" \"Esbjerg\", \"Fyn\", \"Vestsjaelland\" osv.

Derfor problematikken.

(Undskyld multi-posten, et eller andet gik galt)
Avatar billede ortrak Nybegynder
08. januar 2001 - 23:22 #7
jeg ville lave en down and dirty replace på de bynavne som skulle replaces, og så lade de andre være...hvor mange kan der være...


/ortrak
Avatar billede dkjohn Nybegynder
09. januar 2001 - 08:10 #8
<%
while not rs.eof
if rs(\"amt\") = \"Vestsjaelland\" then
response.write \"Vestsjælland\"
else if rs(\"amt\")=\"Sydsjaelland\" then
response.write \"Sydsjælland\"
else
response.write rs(\"amt\"
end if
rs.movenext
wend
%>
gør det godt nok lidt langsommere, men det virker. :-)
Avatar billede gobo Nybegynder
09. januar 2001 - 09:31 #9
ortrak, dkjohn ->

Problemet er det at posten i databasen ikke altid vil være \"Vestsjaelland\" men den kan godt være fx \"Vestsjaelland, Sydsjaelland, Aarhus, Aalborg\"

Derfor kan jeg ikke bruge nogle af de postede løsninger, da strengen skal splittes op først.
Avatar billede dkjohn Nybegynder
09. januar 2001 - 09:44 #10
<%
while not rs.eof
amt=rs(\"amt\")
amt=split(amt, \",\")
for i = 0 to ubound(amt)
if amt(i) = \"Vestsjaelland\" then
  response.write \"Vestsjælland\"
elseif amt(i)=\"Sydsjaelland\" then
  response.write \"Sydsjælland\"
else
  response.write amt(i)
end if
next
%>
Avatar billede gobo Nybegynder
09. januar 2001 - 13:08 #11
dkjohn ->

Det er helt sikker noget af det rigtige, men jeg har lidt problemer med koden efter jeg har tilpasset den til siden:

<%
amt = split(rs(\"amt\"), \",\", -1, 1)
for i = lbound(amt) to ubound(amt)
  if i=lbound(amt) Then
if amt(i) = \"Storkobenhavn\" then
  response.write \", Storkøbenhavn\"
End If
If amt(i)=\"Frederiksborg\" then
  response.write \", Frederiksborg Amt\"
End If
If amt(i)=\"Roskilde\" then
  response.write \", Roskilde Amt\"
End If

(og så videre)

Else
End If
next
%>

Problemet er at den kun viser det første amt, dvs. hvis brugeren har valgt Storkobenhavn og Frederiksborg, vises kun Storkobenhavn.
Avatar billede dkjohn Nybegynder
09. januar 2001 - 13:46 #12
<%
amt = split(rs(\"amt\"), \",\", -1, 1)
for i = lbound(amt) to ubound(amt)
  if amt(i) = \"Storkobenhavn\" then
  response.write \", Storkøbenhavn\"
  elseIf amt(i)=\"Frederiksborg\" then
  response.write \", Frederiksborg Amt\"
  elseIf amt(i)=\"Roskilde\" then
  response.write \", Roskilde Amt\"
  elseif

    (og her har du så alle dine betingelser på samme måde som ovenfor)

  elseIf
  response.write amt(i)
  End If
next
response.write \"<br>\" (eller response.write \"</option>\" hvis det er en select du er igang med)
rs.movenext
%>
Din  \'if i=lbound(amt) Then\' gør at det kun er første post i arryet der bliver chekket, det er jo kun der at i = 0 som lbound(amt) altid er.
Avatar billede gobo Nybegynder
09. januar 2001 - 16:04 #13
dkjohn ->

Hvis du lige svarer, så får du nogle points!
Avatar billede chris2k Nybegynder
10. januar 2001 - 13:53 #14
Hvis jeg var dig, ville jeg ikke gøre noget ved det her problem. Det er det som man vil sige er mindre vigtigt end så meget andet, og du kan jo bare sige til din chef/kunden at det ikke kan laves bedre pga. deres databaser. Det ville det fleste nok acceptere.
Avatar billede gobo Nybegynder
10. januar 2001 - 21:01 #15
Chris2k ->

Nu er det jo ligesom løst såå.... :)
Avatar billede dkjohn Nybegynder
11. januar 2001 - 12:17 #16
svar
Avatar billede chris2k Nybegynder
11. januar 2001 - 15:08 #17
Ja, det ved jeg, men til en anden gang.
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