10. maj 2013 - 20:26Der er
20 kommentarer og 1 løsning
Adskil med dato
Hej,
Jeg kan ikke helt tænke mig til hvordan jeg skal adskille posts fra db'en via dato. som f.eks:
(Det skal samtidig sorteres efter tidspunkt, som er inkluderet i datoen)
10. maj 2013: - Alle posts fra 10. maj 2013 udskrives her kl. 10 - Alle posts fra 10. maj 2013 udskrives her kl. 11 - Alle posts fra 10. maj 2013 udskrives her kl. 13 - Alle posts fra 10. maj 2013 udskrives her kl. 20
11. maj 2013: - Alle posts fra 11. maj 2013 udskrives her kl. 9 - Alle posts fra 11. maj 2013 udskrives her kl. 21 ...
Altså så der kommer mellemrum mellem de forskellige datoer, men at posterne bliver udskrevet det rigtige sted.
Samtidig må den ikke hente posts fra fortiden. Det skal være idag og de kommende dage (en limit af en art)
Hej. Undskyld det sene svar! Var på ferie og da jeg kom hjem havde jeg glemt alt om spørgsmålet - fik lige en mail på den.
Jeg kan ikke helt tænke mig frem til det resultatet ud fra det kode-stykke du postede. Den sorterer jo på ingen måder posterne og udskriver hvis datoen = idag, eller datoen = imorgen. Det skal jo være som jeg skrev i mit første indlæg:
10. maj 2013: - Alle posts fra 10. maj 2013 udskrives - Alle posts fra 10. maj 2013 udskrives -II-
11. maj 2013: - Alle posts fra 11. maj 2013 udskrives - Alle posts fra 11. maj 2013 udskrives -II-
-
Altså med den øverste dato som IDAG, og derefter følger der 5 datoer (imorgen, i overmorgen, dagen efter det osv.) med relevante posts.
date er ikke lig dagen i dag - date sættes til rs("din_dato_kolonne"), altså er det din database der styrer datoen. Når løkken så støder på en ny dato fra databasen udskrives en ny "overskrift".
ah ok nu følger jeg dig. der er bare det problem at jeg looper mit udkast så alle posts fra den pågældende dato udskrives. problemet er bare at hvis der er 5 post fra den 10. juli, så udskriver den
10. juli - post 1 - post 2
^Det udskriver den 5 gange, og ikke bare den ene gang som den skal.
Hvis jeg ikke looper så udskriver den KUN én dato og dens poster...
Altså hvis der er 3 posts under 10. juli, så udskriver den det sådan:
10. juli 2013 - post 1 - post 2 - post 3
10. juli 2013 - post 1 - post 2 - post 3
10. juli 2013 - post 1 - post 2 - post 3
------ Altså tre gange udskriver den det hele, og ikke bare én gang. Men det gør den kun når jeg looper. Hvis jeg ikke looper udskriver den bare alt fra den øverste dato, og ikke de andre datoer
Jeg laver to udtræk. Èn til at opsamle samtlige datoer og én til at udskrive de forskellige posts.
sql = select from ... set rs = conn.execute(sql)
'Din løkke som du skrev tidligere
--- sql = select from ... where dato = dato (fra den første sql) ... Også udskriver den ellers bare de forskellige posts som passer med datoerne.
Jeg mener det er den første sql som ødelægger det, men jeg kan ikke se hvordan den ellers skal kunne udtrække datoerne FRA databasen og ind i sql nummer to..
Medmindre der er noget jeg har misforstået behøver du kun én SQL - nemlig den der hiver alle dine poster ud. Det er sorteringen på den der får min ene løkke til at fungere.
Ja, men for mig at se bliver den opgave umulig. For min sql som henter posterne ud fra de pågældende dato bruger jo RS("dato") i strengen. Det kan den ikke hvis der ikke har været en SQL tidligere i koden?
Yes. Jeg starter med at hente alle poster ud. Dernæst kommer din løkke til at sortere - men som det ser ud lige nu udskriver den den tidligste dato i databasen og udskriver ellers bare alle posts - også selvom datoerne ikke stemmer overens...
sådan ser det ud i lange træk:
sql = select ... order by dato asc
date = ""
if date <> rs("dato") then
'udskriver datoen og noget tekst som hører til de forskellige udtræk do until rs.eof - udskriver samtlige poster i en tabel
Der er lidt småproblemer med at få afsluttet lukket tabellen ordenlig hvis der er flere end én posts for den pågældende dato. Men det jeg kom for - adskil med dato - fungerer perfekt nu. Tak for det - smid bare et svar :)
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.