hey,
I have a dropdown menu of student id’s. I then want to it link to my calendar php page, where it will highlight the days that that student logined in on.
I have a table (registrations) with with the student id’s (StudID) and the date (RegDate) of the student loginning in.
I have the calendar working it display highlight days when someone has loginned in but I would like it to display it for just one student, that you pick from the drop down menu.
[CODE][B]dropdown.php[/B]<body>
<?php
$db = mysql_connect(“localhost”, “root”, “root”);
mysql_select_db(“reg”,$db);
$result = mysql_query(“SELECT * FROM Users”,$db);
?>
<form method=”post” action=”http://localhost:8080/4/results.php”>
<SELECT NAME=”S1″>
<?php
while ($myrow = mysql_fetch_row($result)) {
printf(“<OPTION VALUE=%s> %s n”,
$myrow[1],$myrow[0]);
}
?>
</SELECT>
<input type=”submit”>
</form>
</body>
[B]results.php[/B]
<?php
$conn = mysql_pconnect(“localhost”,”root”,”root”);
$db = mysql_select_db(“reg”);
$dateComponents = getdate();
$month = $dateComponents[‘mon’];
$year = $dateComponents[‘year’];
$query = “SELECT dayofmonth(regDate) as regDate
FROM registrations”;
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
$dateArray[] = $row[‘regDate’];
}
echo build_calendar($month,$year,$dateArray);
if (isset ($_GET[‘date’])) {
$date = $_GET[‘date’];
} else {
$date = date(“Y-m-d”);
}
echo “<p><table width=’350′><tr><td>”;
$blogQuery = “SELECT StudID
FROM registrations WHERE regDate = ‘$date'”;
$blogResult = mysql_query($blogQuery);
if (mysql_numrows($blogResult) > 0) {
while (list($StudID) =
mysql_fetch_row($blogResult)) {
echo “”;
}
} else {
echo “This months attendance”;
}
echo “</td></tr></table></p>”;
?>
[B]cal01.php[/B]
<?php
function build_calendar($month,$year,$dateArray) {
// Create array containing abbreviations of days of week.
$daysOfWeek = array(‘Su’,’Mo’,’Tu’,’We’,’Th’,’Fr’,’Sa’);
// What is the first day of the month in question?
$firstDayOfMonth = mktime(0,0,0,$month,1,$year);
// How many days does this month contain?
$numberDays = date(‘t’,$firstDayOfMonth);
// Retrieve some information about the first day of the
// month in question.
$dateComponents = getdate($firstDayOfMonth);
// What is the name of the month in question?
$monthName = $dateComponents[‘month’];
// What is the index value (0-6) of the first day of the
// month in question.
$dayOfWeek = $dateComponents[‘wday’];
// Create the table tag opener and day headers
$calendar = “<table class=’calendar’>”;
$calendar .= “<caption>$monthName, $year</caption>”;
$calendar .= “<tr>”;
// Create the calendar headers
foreach($daysOfWeek as $day) {
$calendar .= “<th class=’header’>$day</th>”;
}
// Create the rest of the calendar
// Initiate the day counter, starting with the 1st.
$currentDay = 1;
$calendar .= “</tr><tr>”;
// The variable $dayOfWeek is used to
// ensure that the calendar
// display consists of exactly 7 columns.
if ($dayOfWeek > 0) {
$calendar .= “<td colspan=’$dayOfWeek’> </td>”;
}
while ($currentDay <= $numberDays) {
// Seventh column (Saturday) reached. Start a new row.
if ($dayOfWeek == 7) {
$dayOfWeek = 0;
$calendar .= “</tr><tr>”;
}
// Is the $currentDay a member of $dateArray? If so,
// the day should be linked.
if (in_array($currentDay,$dateArray)) {
$date = “$year-$month-$currentDay”;
$calendar .= “<td class=’linkedday’>
$currentDay</td>”;
// $currentDay is not a member of $dateArray.
} else {
$calendar .= “<td class=’day’>$currentDay</td>”;
}
// Increment counters
$currentDay++;
$dayOfWeek++;
}
// Complete the row of the last week in month, if necessary
if ($dayOfWeek != 7) {
$remainingDays = 7 – $dayOfWeek;
$calendar .= “<td colspan=’$remainingDays’> </td>”;
}
$calendar .= “</table>”;
return $calendar;
}
?>
I’m guessing I need to insert a statement similair to this;
$result = mysql_query(“SELECT * FROM registrations WHERE StudID='”.$_POST[‘S1’].”‘”,$db);
but when I insert this into the cal01.php file I just get errors.
Can anyone help please ?
thankyou.