2011-03-12 66 views
0

我正在嘗試編寫一個網站,如Stackoverflow。不一樣。只是算法。獲取問題的標識

在該網站中,有一個問答系統。我的問題是關於「回答問題」。我怎樣才能得到問題的ID?問題和答案在不同的表格中。

我可能會以錯誤的方式編碼網站。如果我這樣做,請告訴我。 注意:我不是母語的人。我問的時候可以犯一些錯誤。

+5

你真的知道多少mysql和php? – 2011-03-12 12:49:58

+1

問題ID通常在地址欄中傳遞 – 2011-03-12 12:54:47

+0

你如何顯示問題?因爲必須有某種question_id參與。然後你可以使用question_id來得到你的答案 – ariefbayu 2011-03-12 13:44:42

回答

2

在該網站中,有一個問答系統。我的問題是關於「回答問題」。我怎樣才能得到問題的ID?問題和答案在不同的表格中。

我不知道的StackOverflow上是如何編碼的,但通常這種類型的東西使用「問題」表樣結構完成:

id | title | question | ..... 

,然後一個「答案」表引用在第一表格中的問題,如

id | question_id | answer | ..... 

所以,ID爲5,6,22和30的答案可以全部引用問題ID爲5

要查看所有響應第25個問題,比如你會然後使用

SELECT answer FROM answers WHERE question_id = 25 

更新

要得到題號查詢數據庫,你可能會從參數讀取它傳遞給頁面。

例如,對於問題25的URL將是這樣的:

www.example.com/showQuestion.php?id=25

在你的代碼就可以了:

$questionID = (int)$_GET['id']; // IMPORTANT: use (int) to sanitize input!!! 

然後

$result = mysql_query("SELECT answer FROM answers WHERE question_id = ".$questionID); 

的StackOverflow使用不同的方式獲取ID,通過執行:

www.stackoverflow.com/questions/<the id of the question>/<the-title-of-the-question> 

所以,舉例來說,這一頁:

http://stackoverflow.com/questions/5282563/get-the-questions-id 

發動機可能通過拆分的/地址,然後得到第二個令牌,該令牌是id(5282563在這種情況下)。最後一部分被稱爲slug

+0

這就是我要求的。我如何得到問題的ID?因爲問題和答案在不同的表中。 – 2011-03-12 17:30:03

+0

@aperioos:更新了我的答案,希望現在更清楚 – nico 2011-03-12 17:43:29

+0

非常感謝。你解決了我的問題。我希望我能成爲解決其他用戶問題的人。 – 2011-03-12 21:07:04

0

如果你的意思是 「由ID獲取的問題」,那麼就應該是這樣的:

SELECT question_id, title, body FROM question WHERE question_id = the_id 

假設你的問題有idtitlebody和:

  • 您問題表被稱爲question
  • the_id是您試圖提取的問題的編號