0

我有一个包含主题列表的复选框。在我的用户注册后,他们可以选择一个主题列表,然后将其放入表格中。目前我有代码可以找到他们的 member_id 并将其添加到表中。但我不确定如何处理用户选择的主题,然后将其添加到用户 member_id 的兴趣表中。

我知道我需要使用 for 循环来处理 member_id 和 topic_id 并将每个选择的添加到表中。但我不知道该怎么做。这是我的代码。

这是我的表格

</form>
            <form method="post" action="topic.php">
            <input type="checkbox" name="topic[]" value="1"> artificial intelligance
            <input type="checkbox" name="topic[]" value="2"> computer graphics
            <input type="checkbox" name="topic[]" value="3"> computer animation
            <input type="submit" name="submit" value="submit topic">
</form>

这两个找到 member_id 和 topic_id

// 查找成员id

$query = "SELECT member_id FROM member where username = '$un'";
$result = mysql_query($query) or die ("query failed: " . mysql_error());        
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    $username=$row['member_id'];

//find the topic id 
$query = "SELECT topic_id FROM topic WHERE topic_name ='$interest'";
    $result = mysql_query($query) or die ("query failed: " . mysql_error());        
    $row = mysql_fetch_array($result, MYSQL_ASSOC);
    $topic_id=$row['topic_id'];
4

1 回答 1

1

你可以这样做

假设

A. Member ID 是整数

B. 表是这样创建的

CREATE TABLE IF NOT EXISTS `selectedtopic` (
  `selectedID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `memberID` int(11) NOT NULL,
  `topicID` int(11) NOT NULL,
  `selectedStatus` tinyint(4) NOT NULL,
  PRIMARY KEY (`selectedID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

示例代码

$sql = "INSERT INTO  `stackoverflow`.`selectedtopic` (
`selectedID` ,
`memberID` ,
`topicID` ,
`selectedStatus`
)
VALUES (
NULL ,  '%d',  '%d',  '%d');" ;

foreach($_POST['topic'] as $selected)
{
    mysql_query(sprintf($sql,$username,$selected,1)) ;
}

如果您需要更多帮助,请告诉我

于 2012-04-08T14:06:04.677 回答