因為快要下班了...所以隨便做了個介面等... 有興趣的朋友可以自己修改漂亮...
這裡主要強調的是使用LoadVars和後台的簡潔編寫方法, 而且儘量不要把製做留言板或討論區想像得很難... :)
点击浏览该文件
function loadEntries(action, max) { //接收兩個參數
if (action == "Next") { //當參數1為Next(即下一頁)的時候
num += max;
} else if (action == "Previous") { //上一頁
num -= max;
} else { //其他...就是設定記錄為開始第一筆
num = 0;
}
display.text = "資料載入中, 請稍等....."; //載入當中的訊息
myEntries = new LoadVars();
myEntries.load("GuestBook.php?action=read&r="+random(999)+"&NumLow="+num); //這裡的NumLow是傳遞到PHP所要開始索取開始的記錄筆數
myEntries.onLoad = function(success) {
if (success) {
display.text = this.entries;
var totalEntries = Number(this.totalEntries);
var total = num+max;
if (total<totalEntries) {
nextButton._visible = true;
} else {
nextButton._visible = false;
}
if (num == 0) {
prevButton._visible = false;
} else {
prevButton._visible = true;
}
}
};
}
loadEntries("Default", 10); //開始讀取記錄
以下是PHP的代碼...我稍為寫了些注釋...拷貝並存檔為GuestBook.php
<?php
$DBhost = "localhost"; // 服務器名字
$DBuser = "root"; // 用戶名
$DBpass = ""; // 用戶密碼
$DBName = "super-tomato"; //資料庫名字
$table = "guestbook"; // 資料庫的table名
$numComments = 10; // 每頁所顯示的筆數 //開始連接mysql
$DBConn = mysql_connect($DBhost,$DBuser,$DBpass) or die("無法連接資料庫 : " . mysql_error());
//選擇mysql資料庫
mysql_select_db($DBName, $DBConn) or die("無法連接資料庫: " . mysql_error()); $action = $_GET[''action'']; //等待執行動作 switch($action) { //這裡使用switch ....case, 我想大家不生疏吧... 在AS當中也有
case ''read'' : //讀取資料
// sql指令...選取資料表的內容
$sql = ''SELECT * FROM `'' . $table . ''`'';
$allComments = mysql_query($sql, $DBConn) or die("無法選取資料 : " . mysql_error());
$numallComments = mysql_num_rows($allComments); //取得返回資料的筆數
$sql .= '' ORDER BY `time` DESC LIMIT '' . $_GET[''NumLow''] . '', '' . $numComments;
$fewComments = mysql_query($sql, $DBConn) or die("無法選取資料 : " . mysql_error());
$numfewComments = mysql_num_rows($fewComments);
print ''&totalEntries='' . $numallComments . ''&'';
print "<br>&entries="; if($numallComments == 0) {
print "目前無任何記錄....";
} else {
while ($array = mysql_fetch_array($fewComments)) {
$name = mysql_result($fewComments, $i, ''name'');
$email = mysql_result($fewComments, $i, ''email'');
$comments = mysql_result($fewComments, $i, ''comments'');
$time = mysql_result($fewComments, $i, ''time''); print ''<b>姓名: </b>'' . $name . ''<br><b>電郵: </b>'' . $email . ''<br><b>內容: </b>'' . $comments . ''<br><i>日期: '' . $time . ''</i><br><br>'';
$i++;
}
}
break; case ''write'' : //寫記錄
// 接收Flash傳遞過來的資料
$name = ereg_replace("&", "%26", $_POST[''userName'']);
$email = ereg_replace("&", "%26", $_POST[''userEmail'']);
$comments = ereg_replace("&", "%26", $_POST[''userMessage'']);
$todayDate = date ("Y-m-d H:i:s",time()); // 取得目前服務器的時間 // 把資料寫入資料表內
$sql = "INSERT INTO " . $table . " (name, email, comments, time) VALUES (''$name'', ''$email'', ''$comments'', ''$todayDate'')";
$insert = mysql_query($sql, $DBConn) or die("無法連接資料庫: " . mysql_error()); // email通知部份, 假如有需要的話...:)
/* 這裡是開始部份..有需要就移除這行和下列的一行
$MyName = "Super-Tomato";
$MyEmail = "yuan@super-tomato.com";
$Subject = "$name剛剛幫你灌水了 :).";
$Message = "$name 剛剛在您的討論區灌水, 快去到這裡看看 http://www.super-tomato.com/guestbook/.";
mail($MyName." <".$MyEmail.">",$Subject, $Message, "From: ".$name." <".$email.">");
需要使用的話移除這行 */ if($insert) {
print ''$msg=Successful'';
} else {
print ''$msg=Error'';
}
break;
}
?> 記得在MySQL建立一個資料表叫guestbook, 當中有4個欄位, name, email, comments和time...不會的朋友可以在PHPMYADMIN裡面輸入以下代碼建立或在MySQL當中手動輸入即可
CREATE TABLE guestbook (
name text NOT NULL,
email text NOT NULL,
comments text NOT NULL,
time datetime NOT NULL default ''0000-00-00 00:00:00''
)
測試例子 :
http://www.super-tomato.com/guest/guest.html ** 因為當中是使用繁體字, 所以你們會看到的是
﹎: 姓名
筿秎: 電郵
ず甧: 內容
ら戳: 2004-06-08 01:09:06