支持WAP功能的移動電話越來越多了。因此,你也應該考慮一下建立自己的WML網站了,本文要介紹的是如何建立PHP/WML頁面的站點,使用MySQL數據庫,可動態更新站點的內容,具體例子是某個學院的教授授課時間和測驗時間表。一點也不復雜哦 :-)
在開始之前,你應該准備好以下東東:
1.你已經正確安裝好PHP和MySQL,並且有使用兩者編程的經驗。
2.你有SQL的相關知識
3.你運行的是Apache並且可寫.haccess文件;或者你運行IIS並且你可以增加映射(或者你可以讓系統管理員幫你的忙);
4.你有WML的相關知識;
好了,第一步首先讓你的服務器知道使用PHP來處理WML文件,以下介紹如何做到這一點。
設置服務器
如果你使用的是Apache,你必須在你的目錄中找到一個.htaccess文件。然後,加入以下行:
AddType application/x-httpd-php3 .wml
如果你找不到該文件,可以加入一個,並且加入以上行,放在你的目錄中。
如果你使用的是IIS,你必須做一些改動,與安裝PHP時差不多:看一下.php和.php3擴展名的映射,並且為.wml加入同樣的映射處理。
通常你會發現PHP被映射到:
C:\php\php4isapi.dll
或者
C:\php\php.exe
准備工作
如果你使用的是微軟的操作系統,你可以安裝NOKIA的開發工具包。它可以檢查你的語法,並且讓你通過一個類似電話的界面來預覽WML頁面,該工具包還帶有關於WML和WML腳本的參考文檔。如果你的電話沒有WAP支持,或者你不能使用一個WAP網關,這可以幫上大忙哦。
要下載這個工具,你首先必須以一個WAP開發者的身份在這個網站登記(http://www.forum.nokia.com/main/0,6668,1_1_4,00.html),要記住的是你需要Java2 Runtime Enviroment的支持(Java2運行環境的支持)。你可以使用任何的文本編輯器來寫頁面。
在寫任何PHP/WML代碼前,你需要建好MySQL的表格。
該數據庫由4個表夠成。
1.professors表包括教授的相關數據;
2.subjucts表包括主題的相關數據;
3.exams表包括測驗的相關數據;
4.teach表包括教授和他們所授科目的關系信息
在連接MySQL時,可通過以下的代碼建立表格
CREATE TABLE professors (
Id int(11) DEFAULT '0' NOT NULL auto_increment,
Surname varchar(24) NOT NULL,
Name varchar(24) NOT NULL,
Email varchar(48) DEFAULT 'Not avaliable',
Cod_course varchar(16) DEFAULT 'Not avaliable',
Consulting_hour varchar(128) DEFAULT 'Not avaliable',
Consulting_place varchar(128) DEFAULT 'Not avaliable',
PRIMARY KEY (Id)
);
這些語句建立了professors的表結構。ID為每個教授分配了一個唯一的識別號,而且是表的主鍵。其它字段,Surname, Name, Email用來表示每個教授的姓、名字和e-mail地址。Cod_course為唯一識別每個科目值。最後Consulting_hour和Consulting_place表示授課時間和授課的地點。
CREATE TABLE subjects (
Subject varchar(96) NOT NULL,
Cod_Subject varchar(24) NOT NULL,
Cod_number varchar(12) NOT NULL,
PRIMARY KEY (Cod_subject )
);
Subject是科目的名字,Cod_subject是學院采用的代表每個科目的名字,它的值是唯一的,並且是這個表的主鍵。Cod_number是一個數字的字段,相同科目的不同課程都屬於一個組,這個數字就是組的識別號。
CREATE TABLE exams (
Cod_Subject varchar(24) NOT NULL,
Id int(11) NOT NULL,
Date date DEFAULT '0000-00-00',
Time time DEFAULT '00:00:00',
Room varchar(64),
Test varchar(16) DEFAULT 'Oral'
);
Cod_subject指學院采用的代表每個科目的名字,是唯一的,ID是教授的唯一識別號,Date, Time和Room用來記錄測驗舉行的日期、時間和地點,Test用來表示測驗的類型(包括書面、口頭等)
CREATE TABLE teach (
Cod_Subject varchar(16) NOT NULL,
Id int(11) DEFAULT '0' NOT NULL,
PRIMARY KEY (Id, Cod_subject )
);
在teach表中,ID是教授的識別號,Cod_Subject的含義同上,兩者構成了該表的主鍵。
下一步是在數據庫中填入一些數據,這步可以自行完成。