首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用多个类别和复选框更新SQL (PHP)

问使用多个类别和复选框更新SQL (PHP)
EN

Stack Overflow用户
提问于 2013-06-16 13:00:03
回答 3查看 685关注 0票数 0

我有像这样的分类表格

表名:个性

代码语言:javascript
复制
 id | Category
  1 | cute
  2 | rich
  3 | stupid
  4 | funny
  5 | famous

所有我想做的是使复选框选项与php的个性表,并更新其他表与多个类别

我的表格是:

代码语言:javascript
复制
  <form>
    Name : <input name="user" type="text" id="user" value="<?php echo $line['user'];?>" />
    Personality : <?php $personality=mysql_query("select * from personality");
                  while($data=mysql_fetch_array($personality)){
                  $check = ($line['usr_char']==$data['category'])?"checked" : "";
                  <label for='$data[kategori]'>
                  <input type='checkbox' id='usr_char' checked value='$data[category]'>
                  <span class='custom checkbox $check'></span> $data[category]</label><br>}?>

如何将个性表的类别发布到多个类别的其他表中?

以下是结果的示例:表名: people

代码语言:javascript
复制
  name | usr_char
  abby | cute,rich,funny
  andy | famous,funny
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-06-16 13:15:04

其一,您在输入元素上缺少一个名称。

代码语言:javascript
复制
<input type='checkbox' id='usr_char' name='attribute[]' checked value='$data[category]'>

之后,要获取用于更新people表的值,只需使用

代码语言:javascript
复制
$attributes = implode(",", $_POST["attribute"]);
票数 0
EN

Stack Overflow用户

发布于 2013-06-16 13:12:40

创建另一个名为people_personality的表,其中包含以下内容:

  • id <--您的主key
  • person_id <--来自"People“table
  • personality_id的主键<--来自"Personality”表

的主键

假设您的People表中有:

代码语言:javascript
复制
id - name
1  - abby
2  - andy

现在,您想要将abby cute、rich和funny

代码语言:javascript
复制
INSERT INTO people_personality VALUES ('',1,1),('',1,2),('',1,3)
票数 0
EN

Stack Overflow用户

发布于 2013-06-16 13:18:34

我的建议是,不要试图在字段中存储多个逗号分隔值。它有许多缺点,包括,

维护单个值是一个繁琐的过程,维护起来不是一件很困难的事情。

因此,与使用many-to-many link table.相比,您可以通过以下方式获得表:

表1:

代码语言:javascript
复制
Id | Category

 1 | cute
 2 | rich
 3 | stupid
 4 | funny
 5 | famous

表2:

代码语言:javascript
复制
Name | Usr_char

abby | cute
abby | rich
abby | funny
andy | famous
andy | funny

例如,通过这种方式可以更容易地在以后添加和删除字符,甚至选择字符。

要检索的:

代码语言:javascript
复制
SELECT * FROM table_name WHERE Name = 'abby';

要添加的:

代码语言:javascript
复制
INSERT INTO table_name (Name, Usr_char) VALUES ('abby', 'cute');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17130344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档