Avatar billede xcover Nybegynder
14. marts 2005 - 22:32 Der er 9 kommentarer og
1 løsning

Order by problem

Hejsa...

Jeg har et lille problem, koden herunder virker fint, men bliver ikke vist i den rigtige rækkefølge, altså "A, B, C" osv...

Der er to tabeller i databasen:  pgprodukt & pgproducent.
Først tjekker jeg alle produkterne i en løkke med "group by" sådan at der ikke kommer producenter frem som ikke findes produkter til i denne kategori.

Det er lidt svært at forklare, men kig på koden:

<select class="form" name="form_producentid">
<%
sql_pgprodukt = "SELECT * FROM pgprodukt where katid = '54' group by producentid"
set rs_pgprodukt = Conn.execute(sql_pgprodukt)
if rs_pgprodukt.EOF then
else
Do Until rs_pgprodukt.EOF
pgprodukt_producentid            = rs_pgprodukt("producentid")

sql_pgproducent = "select * from pgproducent where id = '"& pgprodukt_producentid &"'"
set rs_pgproducent = Conn.execute(sql_pgproducent)
if not rs_pgproducent.EOF then
pgproducent_id                = rs_pgproducent("id")
pgproducent_firmanavn        = rs_pgproducent("firmanavn")
end if
rs_pgproducent.close
set rs_pgproducent = nothing
set sql_pgproducent = nothing

%>
<option value="<%=pgproducent_id%>"><%=pgproducent_firmanavn%></option>
<%
rs_pgprodukt.MoveNext
Loop
end if
rs_pgprodukt.close
set rs_pgprodukt = nothing
set sql_pgprodukt = nothing
%>
</select>
Avatar billede jpvj Nybegynder
14. marts 2005 - 22:36 #1
du tilføjer da bare ORDER BY [kolonnenavn] ...

Eller har jeg misforstået noget?
Avatar billede jpvj Nybegynder
14. marts 2005 - 22:39 #2
arh... nu forstår jeg din kode...

Det kan vist laves smartere...
Avatar billede larsbachmanndk Nybegynder
14. marts 2005 - 22:40 #3
Hvis jeg har forstået det korrekt, vil du have det ud i alfabetisk orden.

Så du tilføjer "order by pgprodukt" eller "order by pgproducent" i SQL sætningen, alt efter hvad du vil sortere efter.
Avatar billede xcover Nybegynder
14. marts 2005 - 22:44 #4
Jeg kan ikke bruge "order by"  fordi feltet "firmanavn" ikke findes i den løkke jeg laver...
Avatar billede jpvj Nybegynder
14. marts 2005 - 22:44 #5
Virker dette ikke:

SELECT pgproducent.id, pgproducent.firmanavn FROM pgproducent, pgprodukt
WHERE katid = 54 AND pgproducent.id = pgprodukt.producentid
GROUP BY pgproducent.id

Hvis ikke, så smid lige en kopi af databasen til eksperten at on-site.dk
Avatar billede jpvj Nybegynder
14. marts 2005 - 22:45 #6
og så husker vi lige sorteringen :-=

SELECT pgproducent.id, pgproducent.firmanavn FROM pgproducent, pgprodukt
WHERE katid = 54 AND pgproducent.id = pgprodukt.producentid
GROUP BY pgproducent.id
SORT BY pgproducent.firmanavn
Avatar billede xcover Nybegynder
14. marts 2005 - 22:53 #7
Det her virker ikker...
Er det ik sådan du mener ?

<select class="form" name="form_producentid">
<option value="">Vælg mærke</option>
<%
sql_pgprodukt = "SELECT pgproducent.id, pgproducent.firmanavn FROM pgproducent, pgprodukt WHERE katid = 54 AND pgproducent.id = pgprodukt.producentid GROUP BY pgproducent.id SORT BY pgproducent.firmanavn"
set rs_pgprodukt = Conn.execute(sql_pgprodukt)
if rs_pgprodukt.EOF then
else
Do Until rs_pgprodukt.EOF
pgprodukt_producentid            = rs_pgprodukt("producentid")
pgprodukt_firmanavn                = rs_pgprodukt("firmanavn")


%>
<option value="<%=pgprodukt_producentid%>"><%=pgprodukt_firmanavn%></option>
<%
rs_pgprodukt.MoveNext
Loop
end if
rs_pgprodukt.close
set rs_pgprodukt = nothing
set sql_pgprodukt = nothing
%>
</select>
Avatar billede xcover Nybegynder
14. marts 2005 - 23:05 #8
--> jpvj
JOOOOOOOOOO.... Det virker sq.... FEEEEEEEDT
Skulle bare ændre rs_pgprodukt("producentid") til rs_pgprodukt("id")

Mange tak !!
Må jeg ikke få din mail adresse ?  Så kan jeg skrive til dig i morgen... Jeg opretter nemlig et spørgsmål igen i morgen som næsten vil omhandle det samme...
Du har jo styr på det ;)

Takker
Avatar billede jpvj Nybegynder
14. marts 2005 - 23:06 #9
Jeg har godt nok ikke rodet direkte med SQL sætninger sådan for nyligt, men tak for rosen :-)

min mail er eksperten(a)on-site.dk
Avatar billede xcover Nybegynder
14. marts 2005 - 23:12 #10
Mange tak, jeg smider dig nok lige en mail i morgen ;)
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