我對web開發非常陌生(我對HTML的使用經驗有限)。我正在創建一個辯論網站。目前,每場辯論都存儲在MySQL數據庫中。當用戶將信息提交給數據庫時,我想要創建一個新頁面,其中包含他們的辯論以及評論和評分的能力。從MySQL數據庫創建獨特的網頁
我遇到的問題是,從迄今爲止所做的研究來看,我沒有找到解決方案來爲每次辯論設立一個新的網頁。有沒有人對如何將數據寫入獨特的網頁有任何建議?
感謝, 喬治
我對web開發非常陌生(我對HTML的使用經驗有限)。我正在創建一個辯論網站。目前,每場辯論都存儲在MySQL數據庫中。當用戶將信息提交給數據庫時,我想要創建一個新頁面,其中包含他們的辯論以及評論和評分的能力。從MySQL數據庫創建獨特的網頁
我遇到的問題是,從迄今爲止所做的研究來看,我沒有找到解決方案來爲每次辯論設立一個新的網頁。有沒有人對如何將數據寫入獨特的網頁有任何建議?
感謝, 喬治
假設您正在使用PHP和MySQL。
我會盡可能保持這個非常簡單,可能需要這些文件在一個基本的例子加上你希望的解釋性SQL表(辯論,評論等)。
表單創建辯論
<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’。
有一個腳本,着眼於請求的URI(查詢字符串是看foo.php?debate=1
→$_GET['debate']
最簡單的地方),並用它來獲取一條信息唯一標識辯論你想要(例如,用於數據庫表中主鍵的列的值)。
在數據庫中查找該行,並將內容輸出到頁面。 (確保以防禦SQL注入的方式將數據發送到數據庫,並且不會將用戶輸入回送到HTML,而不會轉義或消毒它以抵禦XSS)。
您需要使用模板引擎,如PHP。對於每一個辯論傳遞例如辯論ID 1不同的查詢字符串,你可能有
www.example.com/debates?id=1
在你的PHP代碼,那麼你可以檢查此查詢參數的值,並用它來提取從DATABSE的corrwect信息,允許您動態創建頁面。
所以我通過不同的查詢字符串在我的原辯論形式?或者我可以從數據庫中的ID獲得每次辯論的價值? –
如何在'debate_detail.php'頁面上調用查詢?當有人點擊' a href ='debate_detail.php?debateid = $ thisDebateID'>',您如何獲得'$ thisDebateID'的值,以便您可以調用'SELECT * WHERE debate_id = $ thisDebateID' – thefoxrocks