Avatar billede rane Nybegynder
10. juli 2006 - 08:39 Der er 10 kommentarer og
1 løsning

Count grupperinger i loop

Skal have lavet en stor dynamisk tabel med mange rækker med indhold. Til det bruger jeg en SQL med GROUP BY.

Nu vil jeg så gerne have tildelt de enkelte grupperinger en række-baggrundsfarve (skiftevis). Eksempel:

- Rækker med AUDI biler (<tr style='background-color: #cccccc'>
- Rækker med BMW biler (<tr style='background-color: #bbbbbb'>
- Rækker med FIAT biler (<tr style='background-color: #cccccc'>
- Rækker med FORD biler (<tr style='background-color: #bbbbbb'>
osv.
osv.

Dvs. jeg skal vel egentlig bruge en form for Count af alle grupperinger, og så skal de enkelte grupper så tildeles denne baggrundsfarve - dvs. noget a la:

- Ulige gruppering = #cccccc
- Lige gruppering = #bbbbbb

Men det er lidt tricky for der kan jo være 5 rækker af én gruppering, mens der kun kan være 1 gruppering af den næste osv. Kan sagtens lave en skiftevis baggrundsfarve ud fra ALLE hits, men det er jo bare ikke ved hver gruppering.

Nogen der kan hjælpe med dette? Min SQL ser således ud:

SELECT bilmodel, motor, description, price, benzin, diesel, id FROM items WHERE bilmaerke = '" & bilmaerke & "' GROUP BY bilmodel, motor, description, price, benzin, diesel, id ORDER BY bilmodel ASC, motor asc, description asc
Avatar billede gertp Nybegynder
10. juli 2006 - 09:03 #1
<% Do While not rs.EOF
var1 = rs("gruppering")
if var1 <> var2 then %>
<tr style='background-color: #bbbbbb'>
<%
else %>
<tr style='background-color: #bbbbbb'>
<% end if
var2 = var1
rs.MoveNext
Loop %>
Avatar billede gertp Nybegynder
10. juli 2006 - 09:04 #2
hov..
else %>
<tr style='background-color: #cccccc'>
Avatar billede rane Nybegynder
10. juli 2006 - 09:11 #3
Ikke for noget, men hvor får du rs("gruppering") fra? :-)
Avatar billede gertp Nybegynder
10. juli 2006 - 09:17 #4
tja ... den fandt jeg jige på..du kan jo skifte den ud med det du nu kalder den ;-)
du får lige en version 2 om 2 min
Avatar billede gertp Nybegynder
10. juli 2006 - 09:19 #5
<%
taeller = 0
Do While not rs.EOF
var1 = rs("gruppering")
if var1 <> var2 then
taeller = taeller + 1
end if
if taeller med 2 = 0 then%>
<tr style='background-color: #bbbbbb'>
<%
else %>
<tr style='background-color: #bbbbbb'>
<% end if
var2 = var1
rs.MoveNext
Loop %>
Avatar billede rane Nybegynder
10. juli 2006 - 09:19 #6
Hvis jeg erstatter rs("gruppering") med rs("bilmodel"), så virker det næsten.  Baggrundsfarven bliver bare ikke ændret på den 1. række i hver gruppering, men kun fra række 2 og frem :(
Avatar billede gertp Nybegynder
10. juli 2006 - 09:20 #7
if taeller mod 2 = 0 then
Avatar billede gertp Nybegynder
10. juli 2006 - 09:21 #8
...men din sql henter da kun ét bilmærke ud
Avatar billede rane Nybegynder
10. juli 2006 - 09:26 #9
så virker den faktisk :) smid lige et svar
Avatar billede gertp Nybegynder
10. juli 2006 - 09:26 #10
:-)
Avatar billede rane Nybegynder
10. juli 2006 - 09:30 #11
Takker for hjælpen :)
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