Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 15:30 Der er 9 kommentarer og
1 løsning

Hjælp til avanceret søgning

Jeg skal have listet nogle søgeresultater på en bestemt måde:
Søgning foretages i en tabel med følgende felter:
[Region]
[Land]
[By]
[Navn]
[Adresse] (osv.)

Udskriften skal vise en titellinie med:
[Region]  [Land]  [By]
Herunder kommer alle resultaterne under hinanden
Når [By] så skifter, skal headeren udskrives igen og resultaterne listes.
Når alle [By]'er er udskrevet for det første [Land] udskrives headeren igen med det nye [Land] og tilsvarende for [Region].

Hvordan sikrer jeg at "SELECT * FROM tblNames WHERE Navn=XYZ" bliver udskrevet "rigtigt" under de rigtige regioner, byer og lande?
Jeg kan godt få udskrevet headeren for hver record, men jeg er jo kun interesseret i at få den udskrevet for det første resultat (hvor de tre header-kriterier er ens).

Håber at I kan se det for jer - både mit ønske og en løsning.
Bør man ikke kunne klare det uden noget rekursivt snask?

Mvh
/U.K.
Avatar billede fennec Nybegynder
17. juni 2004 - 15:40 #1
Du skal selvfølgelig først sortere efter Region,Land,By men det regner jeg med du allerede gør. Her er et lille eks. som du kan arbejde vidre med. Det handler om at gemme den aktuelle header, også kun tegne den, hvis den ændre sig.

= ""
set rs = conn.execute("select * from DataTabel order by Region,Land,By")CurrentHeader
do while not rs.eof
  if CurrentHeader <> rs("region")&rs("land")&rs("by") then
  'Tegn ny header
    response.write rs("region")& " "& rs("land") &" "& rs("by") &"<br>"
  end if
  response.write rs("navn") &"<br>"& rs("addresse") &"<br><br>"
  CurrentHeader = rs("region")&rs("land")&rs("by")
  rs.MoveNext
loop
Avatar billede fennec Nybegynder
17. juni 2004 - 15:41 #2
der skal stå CurrentHeader = "" i første linje.
Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 15:47 #3
"Expected end of statement:
set rs = conn.execute("select * from DataTabel order by Region,Land,By")CurrentHeader ---------------------------------------------------------------------------------^
Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 15:47 #4
Okay... Den skulle pege på CurrentHeader
Avatar billede fennec Nybegynder
17. juni 2004 - 15:49 #5
jeg har faldet over tastaturet :o)

CurrentHeader = ""
set rs = conn.execute("select * from DataTabel order by Region,Land,By")
Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 15:55 #6
For Fan***!!!! Det spiller bare!!!!

Smider du lige et bette svar?

Tak for hjælpen
/U.K.
Avatar billede fennec Nybegynder
17. juni 2004 - 16:02 #7
no prob.

Det er lidt besværlig at få det til at fungere med tabeller, men ikke umuligt. Det er fordi, der er end-tags. Hvis du vil have det i tabeller, skal du bare sige til, så skal jeg nok hjælpe dig med det. Nu ved jeg jo hvor det kan drille, og det skal ikke koste dig noget :o)
Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 16:06 #8
Tak for tilbudet - det er netop det jeg sidder og pusler med nu. Men det virker som en lille pusse-nusse opgave i forhold til de sindssyge løsningsforslag jeg har haft fat i med min header. Så det skal jeg nok fikse.
Avatar billede fennec Nybegynder
17. juni 2004 - 16:19 #9
Du får den lige alligevel. Jeg fandt en stump kode, som jeg lige tilpasset.

<%
CurrentHeader = ""
set rs = conn.execute("select * from DataTabel order by Region,Land,By")
do while not rs.eof
  'Tegn ny header
    if CurrentHeader = "" then %>
      <table><tr><td><%= rs("region") %></td><td><%= rs("land") %></td><td><%= rs("by") %></td></tr><tr><td colspan="3">
<%    else %>
      </td></tr></table><br>
      <table><tr><td><%= rs("region") %></td><td><%= rs("land") %></td><td><%= rs("by") %></td></tr><tr><td colspan="3">
<%    end if %>
      <table width="100%">
      <tr>
          <td width="100">Navn:</td>
        <td><%= rs("navn") %></td>
      </tr>
      <tr>
          <td width="100">Adresse:</td>
        <td><%= rs("adresse") %></td>
      </tr>
      </table><br>
<%
  CurrentHeader = rs("region")&rs("land")&rs("by")
  rs.MoveNext
loop
%>
</td></tr></table>
Avatar billede ugotabe_kidding Nybegynder
17. juni 2004 - 16:33 #10
Det takker jeg så for - det ser nogenlunde ud som det jeg er kommet frem til ;o)
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