|
|
|
|
|
|
| |
a nice and easy way to implement 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.
| <?php
/**
* --
* -- Table structure for table `events`
* --
*
* CREATE TABLE `events`
* (
* `id` int(8) NOT NULL auto_increment,
* `date` date NOT NULL default '0000-01-01',
* `event` text NOT NULL,
* PRIMARY KEY (`id`)
* );
**/
class eventClass
{
var $day;
var $table = "events";
var $columnText = "event";
var $columnID = "id";
var $columnDate = "date";
var $myEventArray = array
(
"eventID" => 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;
}
}
?> | | |
|
| usercounter class Categories : PHP, PHP Classes, Databases, MySQL, Environment Variables | | | MySQL Handler Categories : PHP, Databases, MySQL, Classes and Objects, PHP Classes | | | PostGreSQL and MySQL 2 in 1 db Manager Categories : PHP, PHP Classes, Databases, PostgreSQL, MySQL | | | MySQL Class to ease Database connectivity Categories : MySQL, PHP Classes, Databases, PHP | | | Simple Mini Poll class library (SimPoll) Categories : PHP, PHP Classes, Databases, MySQL, Complete Programs | | | Online Automatic Class Generator for MySQL Tables Categories : PHP, PHP Classes, Classes and Objects, Databases, MySQL | | | Specify your connection settings and create a link to a MySQL database. Categories : PHP, PHP Classes, Databases, MySQL, Beginner Guides | | | Simple database class Categories : PHP, PHP Classes, MySQL, Databases | | | Simple usersOnline class - keep track of how many users are online on your site Categories : PHP, PHP Classes, Databases, MySQL | | | YellowPages Content Grabber (PHP5 +) Categories : PHP, PHP Classes, Regexps, Databases, MySQL | | | Setting up InnoDB on MySQL and using Transactions Begin, Commit, Rollback in PHP. Categories : PHP Classes, Databases, PHP, MySQL, InnoDB | | | Ajax PHP Tree (Left and Right) with MySQL Categories : PHP, Databases, MySQL, AJAX, PHP Classes | | | Convert SQL from oracle,mysql,mssql,sqlite and odbc to SQL compatible Categories : PHP, PHP Classes, Databases, MySQL, MS SQL Server | | | MySQL Connection/Query Class Categories : Databases, MySQL, PHP, PHP Classes | | | Create and restore backup of MySQL databases Categories : MySQL, Databases, PHP, PHP Classes, Complete Programs | |
|
|
|