как хранить эти данные в базе данных? - PullRequest
2 голосов
/ 30 января 2011

у меня есть таблица -> Interest_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 ]

2 голосов
/ 30 января 2011

Ну, вы можете создать свою форму следующим образом:

$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_1, cat_1_2, cat_1_3, cat_2_1, ..., cat_3_3

На странице, где вы обрабатываете форму, которую нужно просто разделить на _, извлеките 2-й токен (идентификатор категории, вы можете отбросить остальные) и поместите значения в БД, однуна один.

Так, например (может потребоваться дополнительная настройка / проверка ошибок и т. д.):

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 голосов
/ 30 января 2011
Fashion   [ Diore ] [  ] [   ] 
Music     [  ] [  ] [   ] 
Movies    [ Robin Hood ] [ Avatar ] [   ]  

если музыка [1] не равна нулю -> INSERT («Робин Гуд», 3 (музыка)) -> иначе ничего не делать, где музыка должна быть проиндексирована на 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...