Php 使用下拉菜单添加显示和更新mysql字段
我想在mysql数据库字段中存储一组类别。该字段为varchar,类别将以逗号分隔输入。在添加或更新表单中加载时,应该有一个类别的下拉多选列表和一个字段,用于输入新类别或一组以逗号分隔的类别 因此,这里的问题是如何:Php 使用下拉菜单添加显示和更新mysql字段,php,mysql,forms,Php,Mysql,Forms,我想在mysql数据库字段中存储一组类别。该字段为varchar,类别将以逗号分隔输入。在添加或更新表单中加载时,应该有一个类别的下拉多选列表和一个字段,用于输入新类别或一组以逗号分隔的类别 因此,这里的问题是如何: 从数据库中将类别列表提取为列 使下拉列表仅显示每个类别中的一个,即使每行中有多个类别,例如: row1: category: entertainment,news,music row2: category: news,religion,entertainment row3: cat
row1: category: entertainment,news,music
row2: category: news,religion,entertainment
row3: category: news,music,religion
显示的下拉列表应如下所示:
entertainment
news
religion
music
也许有更好的方法可以做到这一点,但因为我对php/mysql不是很有经验,所以我不知道如何做到。我试图在PHPMyAdmin中将category列作为type SET或type ENUM添加到数据库中,但无论我做了什么,我都得到了一个错误1064,所以我放弃了,决定只使用逗号分隔的文本。我相信我需要使用explode和infrade php函数来存储这些数据。目前,category只有一个文本字段,但这并不能保护用户免受打字错误的影响,因为打字错误可能会导致由于现有类别拼写错误而显示额外的类别。我猜您在数据库架构上错了。这是一种典型的1对n关系,因此通常您应该具有以下内容: [类别表]
- 类别
- 名字
- 。。。(其他领域)
- 内容ID
- 名字
- 。。。(其他领域)
- 内容ID
- 类别
- 获取所有类别
- 获取内容所属的类别
- 以字符串形式获取内容和类别
groupby co.contentId你能帮我用一些假设的mysql语句来创建这种关系吗?好了。(抱歉,如果有拼写错误,我只是写了,还没有试过)好的,我已经创建了两个表,如您所述。我是否需要以某种方式填充联接表“content\u属于\u类别”?或者这是以某种自动的方式发生的?还有一个问题是在联接表上使用auto_increment,我是否需要这样做,或者使用某种索引/主键等?显然,对于内容所属的每个类别,您都需要在“属于”表中添加一行。我假设categoryId和contentId都是每个表上的主键,它们一起构成了表上的主键。我想你应该读一些数据库理论,难道你没有看到我的第一篇文章中说我在php/mysql方面的经验是有限的吗?我在星期一开始一份新工作,并试图完成这个项目,所以被告知RTFM是非常没有帮助的,然而,你的其他意见是非常有帮助的,所以我会原谅你。而且,将两个字段都设置为表中的主键似乎是不可能的,也没有任何意义。