<html>
<head>
<title>
</title>

<script language="javascript">
<!-- begin hiding

// end hiding -->
</script>
</head>

<body>


<?php 
// include custom php functions
include( "functions.phtm" );

// global constants
$HOST = "localhost";
$DATABASE = "matthew";
$USER = "matthew";
$PASSWORD = "matthewPassword";


// multiple ways to do the same thing
// $date1 = (int)date( "z" ) + 1;
// $date2 = (int)strftime( "%j" );
// print( "<p><b>$date1</b></p>" );
// echo "<p><b>$date2</b></p>";

$notify = 30;
$date = (int)strftime( "%j" );

// get the current date in easy to use array format
$dayArray = getdate();

// create a UNIX timestamp for the last day of the recently determined year
// int mktime(int hour, int minute, int second, int month, int day, int year);
$daysInYear = strftime( "%j", mktime( 0, 0, 0, 12, 31, $dayArray["year"] ) );

// if the current date is within $notify days of $daysInYear
// start checking into next year
if( $date > ( $daysInYear - $notify ) ) 
{
  // how many days to check in to the next year
  $daysNextYear = $notify - ( $daysInYear - $date );
  $condition = "DAYOFYEAR(birthday) >= $date OR DAYOFYEAR(birthday) < $daysNextYear";
}
// else check for events within the next $notify days
else
{
  $condition = "DAYOFYEAR(birthday) - $date < 30 AND DAYOFYEAR(birthday) - $date >= 0";
}

if( mysql_connect( $HOST, $USER, $PASSWORD ) == false )
{
  fatal( mysql_errno() . ": " . mysql_error() );
}

$sql = "select *, MONTH(birthday) AS month, DAYOFMONTH(birthday) AS day, YEAR(birthday) AS year from birthdays where $condition order by month, day, year";

if( ( $result = mysql_db_query( $DATABASE, $sql ) ) == false )
{
  fatal( mysql_errno() . ": " . mysql_error() );
}

if( mysql_num_rows( $result ) == 0 )
{
  echo "No birthdays within the next $ days...";
}
else
{
  echo "<table>\n";

  while( $row = mysql_fetch_array( $result ) ) 
  {
    echo "<tr>";
    // another way to access the result rows
    // echo "<td>" . $row["firstname"] . "</td>";
    // echo "<td>" . $row["lastname"] . "</td>";
    // echo "<td>" . $row["birthday"] . "</td>";

    print( "<td align=right>$row[3]/$row[4]" );
    if( $row[5] > 1 )
    {
      print( "/$row[5]" );
    }
    echo "</td>";
    print( "<td>$row[0] $row[1]</td>" );
    echo "</tr>\n";
  }

  echo "</table>\n";
}

mysql_free_result( $result );

?>

</body>
</html>