返回列表 上一主題 發帖

11-2-5 參予討論的文章處理程式

11-2-5 參予討論的文章處理程式

11-2-5   參予討論的文章處理程式
當瀏覽者在進入某一討論主題並發表參與討論的意見後(join.php),其所發表的資料就會送交參予討論文章的程式joinnew.php處理,此程式第一件要做的事是將討論文章的內容寫入到SubTitle(次標題)資料表中:
  1. $ID=$_REQUEST["ID"];

  2. //連結MySQL Server
  3.     $conn = mysql_connect("localhost", "root", "12345a");
  4. //選擇資料庫
  5.     mysql_select_db("BBS", $conn);
  6. //指定提取資料的校對字元表
  7.     mysql_query("set character set big5");

  8. //將單引號置換為雙引號
  9. Function chgStr($data)
  10. {
  11.    $chgStr = "'" . str_replace("'", "''", $data) . "'";
  12.    return $chgStr;
  13. }

  14. //將資料寫入資料庫
  15. $sql = "Insert Into SubTitle (姓名, Email, 主題, 內容, 主編號, 發表日期) Values (";
  16. $sql = $sql . chgStr($_REQUEST["姓名"]) . ",";
  17. $sql = $sql . chgStr($_REQUEST["Email"]) . ",";
  18. $sql = $sql . chgStr($_REQUEST["主題"]) . ",";
  19. $sql = $sql . chgStr(nl2br($_REQUEST["內容"])) . ",";
  20. $sql = $sql . $ID . ",'";
  21. $sql = $sql . date("Y-m-j H:i:s") . "')";
  22. mysql_query($sql);
複製代碼
請對照上列的程式碼:

  • 程式碼第18與23行,主編號與$ID:$ID就是我們在參與目前主題討論的發言表單所傳送目前討論主題的『主編號』隱藏欄位值,其目的是用來作為MainTitle(主標題)與SubTitle(次標題)資料表的『主從索引』。
  • 程式碼第22行,將討論內容利用mysql_query()函數寫入資料庫。


圖11-36   『篇數』欄位。
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

我們打開主標題資料表要更新「篇數」欄位的資料值,當然要先找出特定主題的資料錄嘍!因此,我們要在開啟資料表的同時,加上『"Where 主編號=" . $ID』才行(ID就是發言表單中的隱藏欄位值),如果我們沒有加上這個條件式,則MainTitle(主標題)資料表中所有資料錄的『篇數』欄位都會被更新資料喔!
  1. //更新回覆篇數        
  2. $SQL = "Update MainTitle set 篇數=篇數+1 Where 主編號=" . $ID;
  3. mysql_query($SQL);
複製代碼
joinnew.php
  1. <?
  2. $ID=$_REQUEST["ID"];

  3. //連結MySQL Server
  4.     $conn = mysql_connect("localhost", "root", "12345a");
  5. //選擇資料庫
  6.     mysql_select_db("BBS", $conn);
  7. //指定提取資料的校對字元表
  8.     mysql_query("set character set big5");

  9. //將單引號置換為雙引號
  10. Function chgStr($data)
  11. {
  12.    $chgStr = "'" . str_replace("'", "''", $data) . "'";
  13.    return $chgStr;
  14. }

  15. //將資料寫入資料庫
  16. $sql = "Insert Into SubTitle (姓名, Email, 主題, 內容, 主編號, 發表日期) Values (";
  17. $sql = $sql . chgStr($_REQUEST["姓名"]) . ",";
  18. $sql = $sql . chgStr($_REQUEST["Email"]) . ",";
  19. $sql = $sql . chgStr($_REQUEST["主題"]) . ",";
  20. $sql = $sql . chgStr(nl2br($_REQUEST["內容"])) . ",";
  21. $sql = $sql . $ID . ",'";
  22. $sql = $sql . date("Y-m-j H:i:s") . "')";
  23. mysql_query($sql);

  24. //更新回覆篇數        
  25. $SQL = "Update maintitle set 篇數=篇數+1 Where 主編號=" . $ID;
  26. mysql_query($SQL);
  27.          
  28. header("Location: join.php?ID=" . $ID);
  29. ?>
複製代碼
心安,平安   
發表任何無意義的感謝或灌水文章一律砍,珍惜帳號,請詳閱版規!!

TOP

        靜思自在 : 【做人的開始】每一天都是故人的開始,每一個時刻都是自己的警惕。
返回列表 上一主題