Avatar billede kbonline Nybegynder
22. januar 2003 - 23:03 Der er 13 kommentarer og
3 løsninger

sorter data og skriv kun gruppe een gang

jeg har denne sortering :
strSQL = "Select * from produkter2 where kategori LIKE '%" &kode &"%' order by undergruppe"

<%response.Write rs("undergruppe")%>-
<%response.Write rs("navn")%>


dette skriver fx :

undergruppe1 - vare1
undergruppe1 - vare2
undergruppe1 - vare3
undergruppe1 - vare4
undergruppe2 - vare1
undergruppe2 - vare2
undergruppe2 - vare3
undergruppe2 - vare4

hvordan får jeg den til at gøre det sådan istedet :

undergruppe1 - vare1
              vare2
              vare3
              vare4
undergruppe2 - vare1
              vare2
              vare3
              vare4

????
Avatar billede _darkstar_ Nybegynder
22. januar 2003 - 23:08 #1
Det kan ikke umiddelbart lade sig gøre uden at slå nogle voldsomme knuder på SQL.

Det er omvendt utroligt nemt i en løkke kun at skrive værdien ud på undergruppe, når den skifter værdi. Det synes jeg at du skulle gøre.
Avatar billede kbonline Nybegynder
22. januar 2003 - 23:09 #2
eks. ?????
Avatar billede hossein Nybegynder
22. januar 2003 - 23:13 #3
det er nogle ting som man skal vide i forvejn:
1- klikker man fra en anden side til den side hvor du vil vise disse?
2- ligger det hele på en tabel? var der ikke andre mulighed? en tabel til f ex.

men hvis det hele ligger i en tabel en løsning er:
if rs("undergruppe")) = "undergruppe1" then
response.write...
end if
if rs("undergruppe")) = "undergruppe2" then
response.write...
end if
Avatar billede hossein Nybegynder
22. januar 2003 - 23:23 #4
det er lige hvad du har brug for: http://www.eksperten.dk/spm/307808
Avatar billede eagleeye Praktikant
22. januar 2003 - 23:55 #5
Du laver et loop som gemme den sidste undergruppe og udskriver den kun hvis den er ny:


ugrp = ""
Response.write "<table>"
do while not rs.EOF
  Response.write "<tr><td>"
  if ugrp <> rs("undergruppe")
    response.write rs("undergruppe")
    ugrp = rs("undergruppe")
  end if
  Response.write "</td><td>"
  response.write  rs("navn")
  Response.write "</td></tr>"
  rs.MoveNext
loop
Response.write "</table>"
Avatar billede eagleeye Praktikant
22. januar 2003 - 23:57 #6
Glemte et then efter if  denne linier:
if ugrp <> rs("undergruppe")

Til:
if ugrp <> rs("undergruppe") then
Avatar billede miraculix Nybegynder
23. januar 2003 - 00:07 #7
Må jeg have lov at anbefale eagleeyes løsning. Den er _væsentligt_ mere effektiv end den fra sprgsml 307808
Avatar billede hossein Nybegynder
23. januar 2003 - 00:13 #8
Nej :)
Avatar billede kbonline Nybegynder
23. januar 2003 - 00:36 #9
brugte dette (jeg ved godt det ser rodet ud)

<%
if ug <> rs("undergruppe") then %>
<h6 align="left"><font face="Verdana" ><%= rs("undergruppe")%></font></h2>
<%ug=rs("undergruppe")%>
<%else%>
<%end if %>

Det er vist hvad i alle mente, så jeg deler lidt ud :-)
Avatar billede miraculix Nybegynder
23. januar 2003 - 00:49 #10
kbonline >> Den ser fino ud...

hossein >> Jo, fordi den sidste løsning i 307808 indbefatter at der laves et nyt recordset for hver undergruppe (mange selects mod databasen fremfor een).

Løsningen med hardcodede undergrupper er uhensigtsmæssig fordi den kræver en ASP programmør hver gang nogen vil oprette en undergruppe.
Avatar billede hossein Nybegynder
23. januar 2003 - 18:16 #11
miraculix >> I mit svar: 22/01-2003 23:13:26 under punkt 2 på en måde foreslog jeg oprettelse af en anden tabel lig som man gør for kategori og subkategori. Men så kræver lidt kodning men outputtet er nemt + at det er nemt at opdatere.
Avatar billede miraculix Nybegynder
23. januar 2003 - 20:03 #12
Jeg kan ikke se at det ændrer andet end redundans at splitte det i 2 tabeller.
Avatar billede hossein Nybegynder
23. januar 2003 - 20:12 #13
så skriv din løsning, som jeg kan se hvad er det du mener?
Avatar billede miraculix Nybegynder
23. januar 2003 - 20:18 #14
Jamen jeg anbefalede jo eagleeyes løsning, som kbonline brugte.
Da du protesterede over at jeg hævdede den var bedre, ville jeg bare forklare dig hvad fordelene var ved den...
Avatar billede hossein Nybegynder
23. januar 2003 - 20:35 #15
så skla jeg forklare dig at kbonline skrev: "Det er vist hvad i alle mente, så jeg deler lidt ud :-)", sådan en retfærdig mand findes ikke ret mange i verden!
Jeg protesterede ikke, jeg skrev for sjov: Nej :)
Avatar billede miraculix Nybegynder
23. januar 2003 - 20:58 #16
Helt fint, jeg var ikke ude på at genere dig. Jeg ville bare pointere fordelene ved de andre metoder, og da du så skrev nej, troede jeg ikke du havde set dem.

Dine point er helt klart fortjente, for du har jo gjort en stor indsats for at hjælpe ham.

Du må virkelig undskylde hvis jeg er kommet til genere dig, det var ikke min mening.
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