網頁

2013年6月27日 星期四

PHP Calendar

寫一個月曆系統是有些難度的。稍微 Google 一下,也有不少 open sources code 可以使用,不過有些做的過於複雜,有些則是呈現上不符合自己的喜好。

找著找著,這位作者所做的 Build a Calendar Using PHP, XHTML, and CSS,就做的很棒,基本上可以拿這個當作基礎往上再自行發揮。作者從最為基本的操作、增加控制器到如何使用事件寫的很清楚。

我在實作這篇 Add Events to the PHP Calendar 時是有碰到一些問題 (作者並沒有將 SQL與Connection to MySQL With PHP Function 一同放上去,自訂的 SQL 與相關註記如下),在此稍微記錄一下:
  • 新增 MySQL Schema:
CREATE TABLE IF NOT EXISTS `events` (
  `id` int(255) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) COLLATE utf8_bin NOT NULL,
  `event_date` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
  • 新增與修改以下 PHP Script
$db_link = mysql_connect('127.0.0.1', 'root', 'password');
mysql_select_db('calendar', $db_link) or die('Could not select database.');
$month=sprintf("%02d",$month);//1 tobe 01

$query = "SELECT title, DATE_FORMAT(event_date,'%Y-%m-%d') AS event_date FROM events WHERE event_date LIKE '$year-$month%';";
PS,(1) 新增MySQL Connection function ;(2) 因為(int)宣告與 mysql 檢索條件的緣故,所以改為將 $month 變數內的數字自動補 0;(3) DATE_FORMAT(event_date,'%Y-%m-%D')改為DATE_FORMAT(event_date,'%Y-%m-%d'),後來發現改成 %d後也是有問題,使用%d的條件,在1-9的日期不會呈現在月曆上,需改成 %e 才可以,DATE_FORMAT(event_date,'%Y-%m-%e'),這樣才運作正常。

2013年6月17日 星期一

Dbinbox Service

過陣子館內要舉辦一個國際型的研討會。在籌備討論的過程中有討論到要做一個簡易的上傳系統來給演講者使用,透過它能讓講者簡易的傳送演講資料。

其實當時有討論到使用 dropbox , google drive 之類的。不過討論時,因為無法確認講者是否熟悉這類的平台,而且若是講者沒有該平台的帳號,對講者來說也是個困擾。……最後在討論的過程中還是決議不做這個部份。

剛好,看到在這篇「dbinbox:允許任何人直接上傳檔案至你的 Dropbox」的資料,這樣子就算講者沒有 dropbox的帳號,也不需再去做申請的動作。