2012-12-02 36 views
4

我對web開發非常陌生(我對HTML的使用經驗有限)。我正在創建一個辯論網站。目前,每場辯論都存儲在MySQL數據庫中。當用戶將信息提交給數據庫時,我想要創建一個新頁面,其中包含他們的辯論以及評論和評分的能力。從MySQL數據庫創建獨特的網頁

我遇到的問題是,從迄今爲止所做的研究來看,我沒有找到解決方案來爲每次辯論設立一個新的網頁。有沒有人對如何將數據寫入獨特的網頁有任何建議?

感謝, 喬治

回答

2

假設您正在使用PHP和MySQL。

我會盡可能保持這個非常簡單,可能需要這些文件在一個基本的例子加上你希望的解釋性SQL表(辯論,評論等)。

  • /debatelist.php | Dipslays所有辯論都有一種形式來形成辯論
  • /debateprocessor.php |您的「全在一起」的數據處理文件。
  • /debate_detail.php |您的詳細信息頁面,其中的辯論索引指向。

表單創建辯論

<form action='debateprocessor.php' action='POST'> 
<input type='hidden' name='action' value='create'/> 
<input type='text name='debate_name'/> 
/// Other inputs - debate topic, debate author, subject etc? same as above 
</form> 

那麼這將發送表單數據debateprocessor.php,我們會清理和小坑。

$ _GET [ '行動'] = 「創建」 #這告訴我們,我們正在創建的辯論 $ _GET [ 'debate_name'] = 「SomeDebate」

debateprocessor.php - 你會想要把它拉入:

if (mysql_real_escape_text($_GET['action'])) == 'create'){ 
    $debate_name = mysql_real_escape_text($_GET['debate_name']); 
    //sanitize other variables as above 

    //Insert debate name 
    mysql_query=("INSERT INTO debates (debate_id,debate_name) VALUES ('$debate_name'"); 

} 

注意動作if($ action =='foo'){//做某事; }聲明 - 這將允許你在一個文件中處理更新(評論,編輯辯論名稱等)。其他表單中的動作值可以是「編輯」,「添加註釋」等 - 您可以使用單獨的文件來完成所有這些操作,但這可以讓您完成所有操作。你所要做的就是添加elseifs或其他if語句,如上所述,以便爲每個操作修改表。

所以顯示你辯論,你就必須像一個表辯論的主列表,說你有

debatelist.php

<? 
$getDebates = mysql_query("SELECT * FROM debates";); 
$rowNum = 0; 

while($row = mysql_fetch_array($getDebates)) 
{ 
    $thisDebate = $row['debate_name']; 
    $thisDebateID = $row['debate_id'];; 

    echo 
    " 
     <tr> 
     <td> 
      <a href='debate_detail.php?debateid=$thisDebateID'> 
      $thisDebate 
     </a> 
     </td> 

    </tr> 
    "; 
    $rowNum++; 
} 

那倒輸出辯論名稱的列表與一個鏈接到ea。辯論標識符拉開了一場辯論的辯論_detail.php頁面。在該文件中,你會使用一個類似SELECT的組合(僅使用「WHERE debate_id =‘XYZ’,並可能JOIN像debate_id =評論等表」 ZYX」 = debate_id =‘ZYX’。

+0

如何在'debate_detail.php'頁面上調用查詢?當有人點擊' a href ='debate_detail.php?debateid = $ thisDebateID'>',您如何獲得'$ thisDebateID'的值,以便您可以調用'SELECT * WHERE debate_id = $ thisDebateID' – thefoxrocks

1

有一個腳本,着眼於請求的URI(查詢字符串是看foo.php?debate=1$_GET['debate']最簡單的地方),並用它來獲取一條信息唯一標識辯論你想要(例如,用於數據庫表中主鍵的列的值)。

在數據庫中查找該行,並將內容輸出到頁面。 (確保以防禦SQL注入的方式將數據發送到數據庫,並且不會將用戶輸入回送到HTML,而不會轉義或消毒它以抵禦XSS)。

0

您需要使用模板引擎,如PHP。對於每一個辯論傳遞例如辯論ID 1不同的查詢字符串,你可能有

www.example.com/debates?id=1 

在你的PHP代碼,那麼你可以檢查此查詢參數的值,並用它來提取從DATABSE的corrwect信息,允許您動態創建頁面。

+0

所以我通過不同的查詢字符串在我的原辯論形式?或者我可以從數據庫中的ID獲得每次辯論的價值? –