如何将这些数据存储在数据库中?

时间:2011-01-30 02:35:25

标签: php mysql database

我有桌子 - > 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    [  ] [  ] [   ] 

[] - >文字输入 ,我正在使用PHP

如何从表单中接收和存储数据?

2 个答案:

答案 0 :(得分: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.
          }
      }

答案 1 :(得分:0)

Fashion   [ Diore ] [  ] [   ] 
Music     [  ] [  ] [   ] 
Movies    [ Robin Hood ] [ Avatar ] [   ]  

如果音乐[1]不为空 - > INSERT('Robin Hood',3(音乐)) - &gt;否则什么都不做,音乐应该索引到3