【问题标题】:Using a multi check box to add various items with the same id to a table使用多复选框将具有相同 id 的各种项目添加到表中
【发布时间】:2012-04-08 22:06:04
【问题描述】:

我有一个包含主题列表的复选框。在我的用户注册后,他们可以选择一个主题列表,然后将其放入表格中。目前我有代码可以找到他们的 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'];

【问题讨论】:

  • 如果我错了,请纠正我......您需要知道谁来处理您的表单以将信息保存在您的数据库中,其中主题可以是一个或多个???
  • 我想知道如何将 member_id 和 topic_id 保存到一个表中,但是用户可以选择很多主题,所以我需要能够插入很多记录

标签: php mysql


【解决方案1】:

你可以这样做

假设

A.会员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)) ;
}

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

【讨论】:

  • sprintf 和变量 $selected 有什么作用?
  • $_POST['topic'] 正在访问我设置的数组吗?
  • 目前我有此代码检查是否已发布兴趣。
  • 有关sprintf 的文档,请参阅php.net/manual/en/function.sprintf.php `$_POST['topic']` 是您设置的数组,`$selected` 每个数组都分解为单个组件
  • 好的,谢谢,%d 是什么意思?值不应该是 $username 和 $selected 吗?
猜你喜欢
  • 1970-01-01
  • 2014-06-18
  • 2011-12-20
  • 1970-01-01
  • 1970-01-01
  • 2017-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多