I början av Januari 2014 låstes Whoa och du kan alltså ej logga in eller skriva något nytt i forumen. Innehåll i forum osv kommer finnas tillgängligt. Läs Mer »

tänk vid skapande av kalender med databas

Hobby & Fritid - Datorer & Teknik

   

2006-01-17 11:44

tänk vid skapande av kalender med databas

jag ska skapa en kalender som kopplas till en databas d'r man kan skriva in uppgifter för varje dag om man så vill. bnär kalendern skapas vill jag för varje dag se om det finns någon uppgift i databsen och isåfall göra datumet fett eller någonting, men då måste jag väl göra ett nytt anrop till databsen för varje dag? eller hur bör jag tänka?

Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 13:35
äsch länka till nåt annat forum som är bra! måste ju finnas något?
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 14:39
näe ett anrop för varje dag behöver du inte :)

i vilket språk knackar du i?
 

2006-01-17 15:38
asp. hur ska jag tänka?
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 15:51
Du hämtar ju alla dagar med ett anrop till databasen, sen loopar du igenom ditt recordset när du skriver ut dagarna. När du skriver ut dagen gör du bara en if-sats som kollar om dagen är tom eller inte, och är den inte tom skriver du ut dagen i fetstil, annars skriver du ut den vanligt.

Om jag förstår dig rätt.
 

2006-01-17 16:01
nej jag förstår inte hur det skulel bli. måste ju ändå göra en hämtning för varje datum i månaden t.ex loopa ut 2006-01-01 tom 2006-01-31, då måste jag väl kolla varje datum med databasen, om det finns en rad för det datumet, eller?
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 16:05
för jag lagrar bara datum som det finns något på i databasen typ

ID ___datum________text
1_____2006-01-01___gå till kalle

sen loopar jag fram datumen i månaden och vill då för alla datum jag loopar fram se om den tinns en motsvaright i databasen.
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 16:16
nej om du kan förklara lite hur jag borde göra vore det jättesnällt för jag får inte till det i skallen
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 16:39
såhär skriver jag ut ,in kalender om det är till någon nytta

<table border="1">
<tr>

<%

Session.LCID = 1053

strDatum = Cdate("2006-01-01")

strStartDatum = DateAdd("d",1-Weekday(strDatum,0),strDatum )

i=0
x=0

Do until i = 42

strSkrivUt = DateAdd("d",i,strStartDatum)

If month(strSkrivUt) <> month(strDatum) Then
Response.write "<td> </td>"< br> Else
Response.write "<td>" & Day(strSkrivUt) & "</td>"
End If

If x = 6 Then
x=0
Response.write "</tr><tr>"
Else
x=x+1
End If

i=i+1
Loop

%>

<td colspan="7">

 

</td>
</tr>
</table>
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-17 19:00
Ah, jag ser hur du menar, tror jag. Du får nog skriva om koden om du vill slippa loopa i loopen (vilket går, men tar tid).

Vad du kan göra är att ha alla datum i databasen redan. Du kan ju skriva en engångskod baserad på den du skrev nu (istället för att fylla databasen för hand). Då kan du ju bara loopa upp varenda post i databasen och sedan fetmärka de datum där det finns något i fältet text.

En annan lösning vore kanske att, och nu är det här kanske en skitdålig idé, att spara alla datum i en array, och ha alla datum från databasen i ett recordset. Då kan du använda din kod ovan, och om datumet i arrayen finns i ditt recordset så skriver du ut record-setet, annars skriver du ut från arrayen. Jag fulkodar lite här:

do until i = 42

if datumArray = recSet("datum") then
response.write("<b>" & recSet("datum") & "</b>")
recSet.movenext
else
response.write(array)
end if

i=i+1
loop
 

2006-01-17 19:05
Okej, whoa klippte bort lite kod eftersom jag hade ett i inom parantes :)

do until k = 42

if datumArray(k) = recSet("datum") then
response.write("<b>" & recSet("datum") & "</b>")
recSet.movenext
else
response.write(datumArray(k))
end if

k=k+1
loop

Eh, och det här kanske inte funkar alls, men man kan ju alltid prova.
 

2006-01-17 21:50
hm att lagra alla datum i databasen för x antal år framåt i tiden kanske är lite mycket eftersom man ju ska kunna titta på alla datum som kommer. skulle isåfall vara att göra den andra varianten, kan testa i morgon och se om dt verkar vettigt, trots att man väl måste köra 42 ggr för varje recset?
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2006-01-18 18:57
Ja men det är ingen fara, du har ju 42 loopar som det är. Det du vill undvika är att köra 100*42 loopar (jag har gjort det... det var ingen smart lösning).
 

2006-01-18 21:24
nej det är inte mart och inte heller smart att göra en loop i loopen då är det slut ;) har inte testat men jag lär göra det!
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.