Jeg havde svedt denne ud - undskyld. Jeg tilskriver det jul og nytår...
Lad os antage (for at gøre det simpelt) at der er to tabeller: tabellen
Hold med felterne Holdid, Holdnavn
og tabellen Kampe med felterne Hjemmehold, Udehold, Hjemmemål, Udemål
Jeg har lavet dem i Access 2000 - du har ikke oplyst hvilken database du benytter, men jeg forsøger at gøre det nogenlunde "kompatibelt" botset fra navne (se senere)
Sidste spørgsmål først, da det er det mest simple:
Alle kampene kan oprettes i tabellen Kampe med følgende script:
INSERT INTO kampe
SELECT hold.holdid as hjemmehold, h2.holdid as udehold
FROM hold LEFT OUTER JOIN hold AS h2 ON hold.holdid <> h2.holdid;
mht. det føste spørgsmål er der flere muligheder afhængig af alle mulige ting, men i mit simple eksempel har jeg ikke taget hensyn til point, målscore og stilling. Det gør at jeg skal løbe igennem alle kampene hver gang jeg skal have fat i stilligrn og ville være fint hvis det var noget jeg skulle have for mig selv. Jeg går ud fra at andre skal have adgang til at kikke og udvider derfor tabellen Hold med felterne:
Point, Hjemmemål, Udemål
Disse felter skal så opdateres i Hold hver gang der opdateres i tabellen Kampe - afhængig af databasen du benytter kan dette gøres på databaseniveau, men da du alligevel skal have fat med ASP for at opdatere Kampe, er det nemmere at sætte noget kode der ligner dette efter update af tabellen Kampe:
'ASP - jeg regner med at du har hjemmemål og udemål og id for holdene (hjemmeholdsID/etc)(ellers vil det være svært at opdatere kamptabellen)
if (hjemmemål < udemål) then
hjemmepoint = 3
udepoint = 0
elseif (hjemmemål = udemål) then ' kan ikke huske syntaksen ...
hjemmepoint = 1
udepoint = 1
else
hjemmepoint = 0
udepoint = 3
end if
derefter skal du have fyret 2 updatesætninger af der ser nogenlunde således ud
'hjemmehold
SQL1 = "UPDATE hold SET point = point + " & hjemmepoint & _
" , hjemmemål= " & hjemmemål & _
" , udemål=" & udemål & _
" WHERE hold.holdid=" & hjemmeholdsID
' fyr den af mod DB hvordan du nu end gør det...
' det samme for udeholdet - point og mål er bare modsat
SQL1 = "UPDATE hold SET point = point + " & udepoint & _
" , udemål= " & hjemmemål & _
" , hjemmemål=" & udemål & _
" WHERE hold.holdid=" & udeholdsID
' fyr den af mod DB hvordan du nu end gør det...
Stillingen kan nu nemt nappes fra denne tabel når det er nødvendigt. Skal du (som spm. vist oprindeligt gik ud på have en tabel med farver osv, kan du benytte noget de ligner: (jeg formoder her at du selv kan sætte tingene ind i en tabel med farver etc. - ellers må du lige skrive igen...)
' Jeg formoder at du kender antallet af hold - ellers kan du få det med
' SELECT count(*) from hold
SQLstr = "SELECT * from hold order by point desc"
' fyres denne sql kommando af vil den give alle holdene ordnet efter point, hvilket er det vi ønsker og da ROWNUM ikke er generel
rowcount = 1
while not rs.eof do
if (rowcount = 1) then
'skriv noget specielt ud for førsteholdet "med grønt"
elseif (rowcount >= antalhold - 4) then
' så skal det have en rød farve
response.write "--> dårligt hold... ---> " & rs.holdnavn
else
' normal udskrivning - hold i midten
end if
' hvis du vil have lavet en linie oven over de 4 nederste placeringer så gør det her ( det kræver naturligvis at der er nok hold!!!)
if (rowcount = antalhold - 5)
' skriv en line - evt som en <hr> tag
end if
rs.next
rowcount = rowcount + 1
end
Jeg kan ikke hjælpe dig meget mere uden yderligere oplysninger, så hvis svaret ikke er tilfredsstillende, så skriv endelig tilbage med flere oplysninger. Nu er julen jo ovre, så der skulle være mulighed for en rimelig hurtig respons :)
mvh
MouseKeeperX
PS Selv om jeg har brugt danske bogstaver i mit eksempel til navne skal du nok lade være - det kan give problemer rundt omkring, men det giver lidt mere overskuelighed synes jeg.