jag ska göra en händelse lista som ska se ut typ så här:
Vecka 10:
Mån
hockey
vi ska spela hockey, tag med skridskor.
Bad
idag ska vi bada, medtag badkläder.
fredag
fotboll
fotboll ska vi spela, ja
Vecka 11
tisdag
Pankaksätartävling
*phew*
ovs ovs...
problemet är att jag måste sortera efter både vecka och dag och tabellan ska bara visa de veckor som finns i databasen.
Vanlig asp med access databas. :r
Select Vecka, Dag, Rubrik, Beskrivning from tabell order by Vecka, Dag
Sen får du se till att vecka och dag bara skrivs ut en gång för varje vecka och dag. Det kan du fixa igenom att gämföra det du har i rs("vecka") och rs("dag") med det som skrevs ut föra varvet i loopen.....
(Du kommer inte vara tvungen att göra enligt ovan om du bara ska ha en aktivitet per dag , men det vet ju inte jag om du ska.)
Sorterar först allt på vecka sen inom veckan sorteras allt efter dagar.......
Hur loopen ska se ut beror ju på hur du vill att resultatet ska se ut.....
Men om du gör en loop som skriver ut alla poster så kommer ju vecka och dagen skrivas ut för varje aktivitet och det vill du förmodligen inte.
Det är där jag menar att du måste lägga det vecka och dag i en variabel och gemföra med föregånde varv i loppen och om då dag och eller vecka inte är samma så ska du skriva ut det igen !
ok...
men hur löser jag det då? att inte ha samma namn på mina rs?
ska jag öppna databasen 2 gånger då eller?
*känner sig dum*
och vart ska jag använda
Select Vecka, Dag, Rubrik, Beskrivning from tabell order by Vecka, Dag
Du får väl öppna recsetet med den sql-strängen du fått innan sen kanske det kan funka med något sådant här, har inte testat detta utan skriver den bara från huvudet, detta kanske inte blir helt korrekt kod heller.
vecka = ""
dag = ""
Do Until rs.eof
If vecka <> rs("vecka") Then
vecka = rs("vecka")
Response.Write rs("vecka") & "<br>"
End If
If dag <> rs("dag") Then
dag = rs("dag")
Response.Write rs("dag") & "<br>"
End If
Response.Write rs("Rubrik") & "<br>"
Response.Write rs("Beskrivning") & "<br>"
Loop
Som jag sa innan så har jag inte en aning om det funkar, hoppas kan man ju alltid.
<%
set mincon =Server.CreateObject("ADODB.Connection")
set rs = server.createobject("ADODB.Recordset")
mincon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\kalasmannen\db\nyponet.mdb")
SQL = "Select Vecka, Dag, Rubrik, Beskrivning from handelser order by Vecka, Dag"
rs.Open SQL, mincon
vecka = ""
dag = ""
Do Until rs.eof
If vecka <> rs("Vecka") Then
vecka = rs("Vecka")
Response.Write "<b>Vecka " & rs("Vecka") & "</b><br>"
End If
If dag <> rs("Dag") Then
dag = rs("Dag")
Response.Write "<b>" & rs("Dag") & "</b><br>"
End If
Response.Write rs("Rubrik") & "<br>"
Response.Write rs("Beskrivning") & "<br>"
Loop
%>
men då ser resultatet ut såhär:
vecka 41
måndag
hockey
vi ska spela en massa hockey
hockey
hockey
hockey
hockey
hockey
hockey
och "hockey" 45 gånger till.
koden visar bara den sista posten i databasen och uprepar den rubriken 50 gånger. sidan tar även mycket lång tid att ladda även när jag hostar på min egen dator.
hur ska den korrekta koden se ut?
jo, jag misstänker fel på loopen :)
mycket verkar fattas, tex en "next" "grej".
nån har nått förslag på en korrekt loop?
o tack för hjälpen föresten...