如何为一个项目将多个数据输入数据库,但仅显示搜索到的数据?

时间:2016-07-02 02:58:48

标签: php mysql database

例如:

如果有人正在寻找在他们居住的城市出售最便宜的洋葱的杂货店,该目录将向他们展示出售洋葱的杂货店。

此人必须输入“#洋葱”这个词。 (没有引号)进入搜索框,然后推荐将在数据库中搜索所有杂货店"洋葱"他们的产品清单。

问题在于:如果您要为包含大量产品的单个杂货店插入数据,您将如何插入所有这些产品但允许该网站搜索一个?

如果一个产品的数据库中的一列包含50个项目....所以所有50个项目都在一个单元格中,数据库将如何搜索特定查询的一个单元格"洋葱"?或者我是否必须配置它以便所有50个项目中的每个项目都有自己的单元格?每个产品一列中有50行?但这将是乏味的,因为每个产品都有自己的数据库表。

我想问题是:

enter image description here

如果有多个项目,数据库是否能够在一个单元格中搜索特定项目?

2 个答案:

答案 0 :(得分:0)

是。

在您的情况下,您可以使用LIKE来匹配表格单元格中的一组字符,并输入名称。

例如:select Store from tablename where products like '%onion%';

%表示洋葱前后的任意数量的字符。

尽管如此,我建议您遵循每个表一个实体的原则。

希望这会对你有所帮助。

答案 1 :(得分:0)

虽然您的回复显然可行,但一旦您在表格中有任何合理数据,它们将会太慢。你的模式甚至没有使它成为First Normal Form,其中包括一个字段必须只包含" atomic"值。你真的需要学习数据库的基础(例如,数据库表没有"单元格")。

在这里尝试解释所有关于数据库设计和规范化的内容太多了,但足以说你有效地提出了错误的问题,因为你是从错误的地方开始的。