Mega Code Archive
A what happened on this day class
a nice and easy way to implement a class for "What happened today?" for websites.
Note that if the class cannot find an event on the current date, it will take out the last occurence of an event.
array(),
"eventText" => array(),
"eventDate" => array(),
);
/**
* @return Array/Boolean
* @desc Returns the events array from database. Return false if failed.
*/
function get()
{
$this->checkDate(date('d'));
return $this->myEventArray;
}
/**
* @return Boolean
* @param String $text
* @param Integer $month
* @param Integer $day
* @param Integer $year
* @desc Inserts a new event into database. Returns false if failed.
*/
function set($text, $month, $day, $year)
{
$date = $year . "-" . $month . "-" . $day;
$query = "insert into " . $this->table . "(" . $this->columnText . ", " . $this->columnDate . ") values('" . $text . "', '" . $date . "')";
$result = mysql_query($query);
if($result)
{
if(mysql_affected_rows())
return true;
else
return false;
}
else
return false;
}
/* FUNCTIONS*/
/**
* @return Boolean
* @param Integer $id
* @desc Deletes event from database
*/
function delete($id)
{
$query = "delete from " . $this->table . " where " . $this->columnID . "=" . $id;
$result = mysql_query($query);
if($result)
{
if(mysql_affected_rows())
return true;
else
return false;
}
else
return false;
}
/**
* @return Boolean
* @param Integer $id
* @param String $text
* @desc Updates selected row in database. Return false if failed.
*/
function update($id, $text)
{
$query = updateQuery($this->table, $this->columnText, $text, $this->columnID, $id);
$result = mysql_query($query);
if($result)
{
if(mysql_affected_rows())
return true;
else
return false;
}
else
return false;
}
/**
* @return Boolean
* @param Integer $month
* @desc Checks event data in database and sets an array of the last recent month and day match. Returns false if failed.
*/
function checkDate($month)
{
$this->day = date('d');
$result = $this->queryMonth($month);
if($result)
{
if(mysql_fetch_array($result))
{
$this->checkDay($month);
$this->getArray($month, $this->day);
return true;
}
else
{
if($month == 1)
$this->checkDate(12);
else
{
$month--;
$this->checkDate($month);
}
}
}
else
return false;
}
/**
* @return Boolean
* @param Integer $month
* @desc Checks last recent day in event dates
*/
function checkDay($month)
{
$result = $this->queryDay($month, $this->day);
if($result)
{
if(mysql_fetch_array($result))
return true;
else
{
if($this->day == 1)
{
$this->day = 31;
$this->checkDay($month);
}
else
{
$this->day--;
$this->checkDay($month);
}
}
}
else
return false;
}
/**
* @return Boolean
* @param integer $month
* @param integer $day
* @desc Sets the event Array. Returns false if failes.
*/
function getArray($month, $day)
{
$query = "select * from " . $this->table . " where " . $this->columnDate . " like '%-%" . $month . "-%" . $day . "'";
$result = mysql_query($query);
if($result)
{
if($myrow = mysql_fetch_array($result))
{
$index = 0;
do
{
$this->myEventArray["eventID"][$index] = $myrow[$this->columnID];
$this->myEventArray["eventText"][$index] = $myrow[$this->columnText];
$this->myEventArray["eventDate"][$index] = $myrow[$this->columnDate];
$index++;
}while($myrow = mysql_fetch_array($result));
return true;
}
else
return false;
}
else
return false;
}
/**
* @return Recource/Boolean
* @param Integer $month
* @param Integer $day
* @desc Gives apropriate recource ID. Returns false if failed
*/
function queryDay($month, $day)
{
$query = "select DATE_FORMAT(date, '%d') as day from " . $this->table . " where " . $this->columnDate . " like '%-%" . $month . "-%" . $day . "'";
$result = mysql_query($query);
if($result)
return $result;
else
return false;
}
/**
* @return Recource/Boolean
* @param Integer $month
* @desc Gives apropriate recource ID. Returns false if failed
*/
function queryMonth($month)
{
$query = "select " . $this->columnDate . " from " . $this->table . " where " . $this->columnDate . " like '%-%" . $month . "-%'";
$result = mysql_query($query);
if($result)
return $result;
else
return false;
}
}
?>