Avatar billede aller Nybegynder
04. december 2002 - 16:44 Der er 4 kommentarer og
2 løsninger

Springe over ting i array

Jeg har et array, som bliver fyldt fra en MySQL DB.

Mine poster er opdelt i kategorier:

England
Danmark
osv. osv...

Hvis jeg nu har 2 poster med England og 1 med Danmark, hvordan kan jeg så dem vist sådan her:

Test
- post 1 med England
- post 2 med England
Temp
- post 1 med Danmark
------------------------

Altså en kategoriopdelt visning af posterne...

Håber jeg har forklaret mig tydelig nok :)

Med venlig hilsen

Kim Alsgaard.
Avatar billede colg Nybegynder
04. december 2002 - 16:57 #1
forstår ik helt?
Avatar billede aller Nybegynder
04. december 2002 - 17:06 #2
Jeg har en tabel i en DB, som indeholder nogle kampe, som skal opdateres live.

I hver post i denne tabel, er der et felt der hedder Category - dette felt viser hvilken kategori det er, altså en Engelsk premier league kamp, en dansk superliga kamp osv osv.

Mit problem er bare, at jeg kan ikke hit' u' a' og få de forskellige kampe til at stå sammen under samme kategori, når jeg vil have siden med alle kampene udskrevet, altså sådan her:

Danish Superligaen:
AaB - Esbjerg
AGF - OB

Norway Tippeligaen:
Brand - Rosenborg

Med den løsning jeg bruger nu, tager den alle posterne.

Min kode ser sådan her ud:

<%
sql = "select matches.category, count(*) as test from matches where dato = '" & formatDateTime(Now(),vbShortDate) & "' group by id asc"
set rs = conn.execute(sql)
if not rs.eof then
  arrRecords = rs.getrows()
end if

if isarray(arrRecords) then
  for i=0 to ubound(arrRecords)
    barcounter=0
      sql = "select * from matches where category = '" & arrRecords(0,i) & "'"
    response.write sql
    set rs=conn.execute(sql)
    do until rs.eof
    if barCounter = 0 then
    barCounter = 1
    %>
<tr><td class="category" style="" colspan="5" width="100%" background="images/bottomline.gif" align="left"><strong><% Out(rs("category")) %></strong></td>
</tr>
<% end if %>
<tr align="right" valign="top" >
<td width="30%" align="left" style="padding-left: 10px; padding-right: 20px;"><% Out(rs("hometeam")) %></strong></td>
<td width="20%" align="center"><strong><% Out(rs("homegoals") & " - " & rs("awaygoals"))%></strong></td>
<td width="30%" align="left" style="padding-left: 20px;"><% Out(rs("awayteam"))%></strong></td>
<td width="20%" align="right" style="padding-right: 10px;"><% Out(rs("tid"))%></strong></td>
</tr>
rs.movenext
loop
next
%>

Out() er blot en erstatning for response.write

Håber det hjalp lidt... har siddet i flere timer i dag med samme problem :(

Med venlig hilsen

Kim Alsgaard.
Avatar billede eagleeye Praktikant
04. december 2002 - 17:10 #3
Du kan lave en select som grupere på kategori..:

"SELECT * FROM tabel GRUOP BY kategori"



Så kan du lave noget kode som udskriver det sådan her:

Set rs = ConnectionObj.Execute("SELECT * FROM tabel GRUOP BY kategori")
kategori = ""
do while not rs.EOF
  if kategori <> rs("kategori") then
    Response.write rs("kategori") & "<br>"
    kategori = rs("kategori")
  end if

  Response.write "  - " & rs("EN_KOLONNE") & "<br>"

  rs.MoveNext
Loop
Avatar billede coltau Juniormester
04. december 2002 - 20:34 #4
Mon ikke det ville hjælpe hvis du brugte "matches.category" i til at gruppere efter i stedet for id:

sql = "select matches.category, count(*) as test from matches where dato = '" & formatDateTime(Now(),vbShortDate) & "' group by matches.category asc"
Avatar billede hossein Nybegynder
04. december 2002 - 22:20 #5
Array er en god løsning, men jeg ved ikke om du har tænkt over at bruge sql.

SELECT kampe_1.id, kampe_1.clavnnavn, kampe_1.tags, kampe_1.members, kampe.id, kampe.clavnnavn, kampe.tags, kampe.members, kampe.gruppe, hold.id, hold.idhold1, hold.idhold2, hold.runde
FROM (hold INNER JOIN kampe ON hold.idhold1 = kampe.id) INNER JOIN kampe AS kampe_1 ON hold.idhold2 = kampe_1.id;

Her er 2 tabeler Kampe og Hold, Kampe_1 er en kopi af tabelen kamp.
Avatar billede aller Nybegynder
08. januar 2003 - 13:47 #6
I får begge to 75 point..
Tak for hjælpen :)

Kim.
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