我們在實際做的過程中很是簡單的,希望大家好好研究一下,給補充多點功能。本程序須在PHP and mySQL的環境下運行。有三個文件:comments.php, 是用來顯示[評論的, commentadd.php, 用來處理評論內容的, and commentform.html 通過FROM來提交評論。
1.首先建立一個數據庫,假如已經建立則建立一個符合條件的表:
CREATE TABLE `comtbl` (
`postID` INT NOT NULL AUTO_INCREMENT ,
`postTITLE` TEXT NOT NULL ,
`posterNAME` TEXT NOT NULL ,
`posterEMAIL` TEXT NOT NULL ,
`postTIME` TIMESTAMP NOT NULL ,
`postTXT` TEXT NOT NULL ,
PRIMARY KEY ( `postID` )
);
評論查看頁:COMMENTS.PHP,具體內容為(有用戶名和密碼的在實際工作中要改變):
$dbcnx = mysql_connect("localhost", "username", "password");
mysql_select_db("comments");
接下來需要對表進行查詢,並且把ID 按Descending: 順序排序:
$result = mysql_query("SELECT * FROM comtbl ORDER BY postID DESC");
if (!$result) {
echo("Error performing query: " . mysql_error() . "");
exit();
}
在這裡因為要讀出好多條記錄,所以用循環來讀,具體程序如下:
while ($row = mysql_fetch_array($result) ) {
$msgTxt = $row["postTXT"];
$msgId = $row["postID"];
$SigName = $row["posterNAME"];
$SigDate = $row["postTIME"];
$msgTitle = $row["postTITLE"];
$url = $row["posterEMAIL"];
現在到了最要害的一步了,也是困難的一步: 因為在這裡用到MySQL's TIMESTAMP 函數 (功能是可以自動的餓把時間添加到一個表中),並且需要取得時間的字符串,使用字符串函數substr() ( $yr 表示年, $mo 表示月, 等等):
$yr = substr($SigDate, 2, 2);
$mo = substr($SigDate, 4, 2);
$da = substr($SigDate, 6, 2);
$hr = substr($SigDate, 8, 2);
$min = substr($SigDate, 10, 2);
還需要對上述代碼的功能加以擴充來實現12或24小時表示或者用 AM和PM來表示上下午,代碼如下:
if ($hr > "11") {
$x = "12";
$timetype = "PM";
$hr = $hr - 12;
}else{
$timetype = "AM";
}
另外,當評論者要是留下Email 的話,我們可以在這裡來建立一個連接實現聯系發評論的人.代碼如下:
if (!$url) {
$url = "#";
}else{
$stat = $url;
$url = "mailto:" . $url . "";
}
最後,我們可以按行來顯示數據,並且關閉循環,最終的顯示代碼如下:
echo("
$msgTitle