2011-01-30 67 views
2

我有表 - > interests_cats如何將這些數據存儲在數據庫中?

id - category 
1 - Music 
2 - Fashion 
3 - Movies 

和利益表

id - interest - cat_id 
1 - Inception - 3 
2 - Jackson - 1 
3 - Ralf  - 2 

和用戶形式我有這樣

Fashion [ ] [ ] [ ] 
Music  [ ] [ ] [ ] 
Movies [ ] [ ] [ ] 

[] - >文本輸入 ,我m使用PHP

如何接收和存儲數據fr om表單?

+3

我們不建立它 - 你有什麼嘗試? – 2011-01-30 02:39:09

+0

thisrd表是關於什麼的? – bensiu 2011-01-30 02:43:27

+0

@OMG小馬我嘗試過html數組,但問題是興趣類別是動態的,所以我不認爲這是一個好的方法。 – 2011-01-30 02:45:31

回答

2

好了,你可以生成你的形式是這樣的:

$res = mysql_query("SELECT id, category FROM categories ORDER BY category"); 
while (mysql_fetch_array($res)) 
     { 
     echo $res['category']; 
     for ($i=0; $i<3; $i++) 
      echo " <input name='cat_" . $res["id"] . "_" . $i . "' />"; 
     } 

所以,你將有一個名爲領域cat_1_1cat_1_2cat_1_3cat_2_1,...,cat_3_3

在頁面,您處理你需要分割的表格,只需要分割_,獲取第二個標記(類別id,你可以放棄其餘的標記),並將這些值逐個放入數據庫中。

因此,例如(可能需要一些額外的調整/錯誤檢查等):

foreach($_POST as $name=>$value) 
     { 
     $tokens = preg_split("/_/", $name); 
     if ($tokens[0] == "cat") 
      { 
      $catnum = (int)$tokens[1]; 
      // INSERT ($catnum, $value) in the table here. 
      } 
     } 
0
 
Fashion [ Diore ] [ ] [ ] 
Music  [ ] [ ] [ ] 
Movies [ Robin Hood ] [ Avatar ] [ ] 

如果音樂[1]不爲空 - > INSERT( '羅賓漢',3(音樂) ) - >否則什麼都不做,音樂應該索引到3

相關問題