Glad to help. I'd be interested to know how it works out. Fred
Sjoerd Van Oosten <[EMAIL PROTECTED]> wrote in message C9F89DA57491D511BDAF00E0180C348103BFF1@ESADM01">news:C9F89DA57491D511BDAF00E0180C348103BFF1@ESADM01... > Fred thanks a lot, you really helped me out! > > ________________________________________ > Sjoerd van Oosten > Digitaal vormgever [EMAIL PROTECTED] > Datamex E-sites B.V. > http://www.esites.nl > Minervum 7368 Telefoon: (076) 5 730 730 > 4817 ZH BREDA Telefax: (076) 5 877 757 > _______________________________________ > > > -----Oorspronkelijk bericht----- > Van: Fred [mailto:[EMAIL PROTECTED]] > Verzonden: dinsdag 20 november 2001 18:18 > Aan: [EMAIL PROTECTED] > Onderwerp: Re: [PHP] Re: DATE Questions > > > Alright. I was recently writting an attendance application for a school. I > wanted to beable to display attendance information from mysql in a calendar, > but I did not want to have to write the calendar script from scratch. I > must have looked at thirty or so calendar scripts before I found this one: > http://www.stevenrebello.f2s.com/ . I chose this calendar because it looks > nice, but is very simple and does not contain a bunch of stuff I don't need. > > I rewrote the script as a function and changed it to fit my needs. I will > include the source here so that you can see how I made it work with mysql. > There are two places where I made changes. First, you can see that I > changed the code for generating the links to last month and next month. You > will need to do this in order to pass the correct variables to the page that > contains the function. > > I then added the code for priting my dadabase information. Most of the code > for formatting the data for each day is in a seperate function that gets > called once for each day on the calendar. You will notice that I have the > database code in there twice. This is because I did things a little > differently for the current day. This is not necessary, but you will have > to rearrange the code a bit if you still want to highlight the current day. > > Good Luck. > function AttendanceCalendar($mon,$year,$Student,$Class) > { > global $dates, $first_day, $start_day, $Attend; > > $first_day = mktime(0,0,0,$mon,1,$year); > $start_day = date("w",$first_day); > $res = getdate($first_day); > $month_name = $res["month"]; > $no_days_in_month = date("t",$first_day); > > file://If month's first day does not start with first Sunday, fill table > cell with a space > for ($i = 1; $i <= $start_day;$i++) > $dates[1][$i] = " "; > > $row = 1; > $col = $start_day+1; > $num = 1; > while($num<=31) > { > if ($num > $no_days_in_month) > break; > else > { > $dates[$row][$col] = $num; > if (($col + 1) > 7) > { > $row++; > $col = 1; > } > else > $col++; > $num++; > }//if-else > }//while > $mon_num = date("n",$first_day); > $temp_yr = $next_yr = $prev_yr = $year; > > $prev = $mon_num - 1; > $next = $mon_num + 1; > > file://If January is currently displayed, month previous is December of > previous year > if ($mon_num == 1) > { > $prev_yr = $year - 1; > $prev = 12; > } > > file://If December is currently displayed, month next is January of next > year > if ($mon_num == 12) > { > $next_yr = $year + 1; > $next = 1; > } > > echo "<TABLE BORDER=\"1\" WIDTH=\"100%\" CELLSPACING=\"0\" > BORDERCOLOR=\"cc3333\">"; > > echo "\n<TR ALIGN='center'><TD BGCOLOR='white'> ". > "<A > HREF=\"$PHP_SELF?Module=Student&Student=$Student&Class=$Class&month=$prev&ye > ar=$prev_yr\" STYLE=\"text-decoration: none\"><B><<</B></A> </TD>". > "<TD COLSPAN=5 BGCOLOR='cc3333'><B><FONT > Color='ffffff'>".date("F",$first_day)." ".$temp_yr."</B></FONT></TD>". > "<TD BGCOLOR='white'> ". > "<A > HREF=\"$PHP_SELF?Module=Student&Student=$Student&Class=$Class&month=$next&ye > ar=$next_yr\" STYLE=\"text-decoration: none\"><B>>></B></A> </TD></TR>"; > > echo "\n<TR > ALIGN='center'><TD><B>Sun</B></TD><TD><B>Mon</B></TD><TD><B>Tue</B></TD>"; > echo > "<TD><B>Wed</B></TD><TD><B>Thu</B></TD><TD><B>Fri</B></TD><TD><B>Sat</B></TD > ></TR>"; > echo "<TR><TD COLSPAN=7> </TR><TR ALIGN='center'>"; > > $end = ($start_day > 4)? 6:5; > for ($row=1;$row<=$end;$row++) > { > for ($col=1;$col<=7;$col++) > { > if ($dates[$row][$col] == "") > $dates[$row][$col] = " "; > > if (!strcmp($dates[$row][$col]," ")) > $count++; > > $t = $dates[$row][$col]; > > file://If date is today, highlight it > if (($t == date("j")) && ($mon == date("n")) && ($year == date("Y"))) > { > file://echo "\n<TD BGCOLOR='cccccc'>".$t."</TD>"; > echo "\n<TD bgcolor=\"cccccc\">";//.(($t == " " )? " " > :$t)."</TD>"; > > $Result = mysql_query("SELECT Attend, Credit, Date FROM Attendance > WHERE StudentID = \"$Student\" AND SectionNo = \"$Class\" AND MONTH(Date) = > \"$mon\" AND YEAR(Date) = \"$year\" AND DAYOFMONTH(Date) = \"$t\"", > MakeConn()) > or die (mysql_error()); > > if (mysql_num_rows($Result) > 0) > { > $DataRow = mysql_fetch_assoc($Result); > extract ($DataRow); > PrintDay($Attend,$Credit,$t,$mon,$year); > mysql_free_result($Result); > } > > echo "</TD>";} > else { > if ($t == " ") { > echo "\n<TD>"; > echo "</TD>"; > }else{ > file://If the date is absent ie after 31, print space > echo "\n<TD width=\"60\" height=\"60\">";//.(($t == " " )? " " > :$t)."</TD>"; > > $Result = mysql_query("SELECT Attend, Credit, Date FROM Attendance > WHERE StudentID = \"$Student\" AND SectionNo = \"$Class\" AND MONTH(Date) = > \"$mon\" AND YEAR(Date) = \"$year\" AND DAYOFMONTH(Date) = \"$t\"", > MakeConn()) > or die (mysql_error()); > > if (mysql_num_rows($Result) > 0) > { > $DataRow = mysql_fetch_assoc($Result); > extract ($DataRow); > PrintDay($Attend,$Credit,$t,$mon,$year); > mysql_free_result($Result); > } > else > { > echo $t; > } > > > > echo "</TD>";}} > }// for -col > > if (($row + 1) != ($end+1)) > echo "</TR>\n<TR ALIGN='center'>"; > else > echo "</TR>"; > }// for - row > echo "\n</TABLE>"; > } > > > > > Sjoerd Van Oosten <[EMAIL PROTECTED]> wrote in message > C9F89DA57491D511BDAF00E0180C348103BFED@ESADM01">news:C9F89DA57491D511BDAF00E0180C348103BFED@ESADM01... > > Of course i'm very interested! > > > > Greetings, > > > > ________________________________________ > > Sjoerd van Oosten > > Digitaal vormgever [EMAIL PROTECTED] > > Datamex E-sites B.V. > > http://www.esites.nl > > Minervum 7368 Telefoon: (076) 5 730 730 > > 4817 ZH BREDA Telefax: (076) 5 877 757 > > _______________________________________ > > > > > > -----Oorspronkelijk bericht----- > > Van: Fred [mailto:[EMAIL PROTECTED]] > > Verzonden: dinsdag 20 november 2001 9:35 > > Aan: [EMAIL PROTECTED] > > Onderwerp: [PHP] Re: DATE Questions > > > > > > If you are interested I can show you a script that will generate a monthly > > calendar based on the current date. It has links to go forward and > backward > > by month. It is a fairly simple script that I found at hotscripts.com, > but > > it has amazing potential. I have used it as the basis for some rather > > advanced database applications. > > > > Fred > > > > > > Sjoerd Van Oosten <[EMAIL PROTECTED]> wrote in message > > C9F89DA57491D511BDAF00E0180C348103BFE5@ESADM01">news:C9F89DA57491D511BDAF00E0180C348103BFE5@ESADM01... > > > > > > Hello, > > > > > > I'm working on a project planning system and what i want to do is making > a > > > sort of table structure with an overview form today till a month later. > > All > > > the projects that are between these dates must be viewed. > > > > > > Right now i have the following questions: > > > > > > - How can i determine how much days are between say 20 november and 20 > > > december dynamically? > > > - How can i make an array containing the values of these dates? > > > - How do i make a for loop and print these values. > > > > > > I hope somone can help me out. Thanks. > > > ________________________________________ > > > Sjoerd van Oosten > > > Digitaal vormgever [EMAIL PROTECTED] > > > Datamex E-sites B.V. > > > http://www.esites.nl > > > Minervum 7368 Telefoon: (076) 5 730 730 > > > 4817 ZH BREDA Telefax: (076) 5 877 757 > > > _______________________________________ > > > > > > > > > > > -- > > PHP General Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]