【问题标题】:HTML/PHP Storing values in table, saving to database and showing it laterHTML/PHP 将值存储在表中,保存到数据库并稍后显示
【发布时间】:2012-12-12 08:22:26
【问题描述】:

我是新手,正在尝试为一个项目制作一个简单的网站。我必须翻页、添加和查看爱好。用户需要能够添加 1 个或多个爱好并将其存储在数据库中并在另一个页面中检索它,我在下面列出了我计划做的事情。

如何才能在数据库中存储用户的多个爱好?

使用 MySQL、HTML、PHP、Dreamweaver

假设:用户已创建,用户已登录,所有与用户相关的数据库编码已完成。存在超过 1 个用户,所有用户每个人都有一些爱好。

数据库
用户表:UserId、Username、HobbyId
爱好表:HobbyId、HobbyName、HobbyDaysAWeek

1 个用户可以有 0 个或多个爱好。

添加爱好页面

  • 下拉列表(绑定爱好表中的爱好列表)
  • 文本框(供用户输入他每周花多少天从事该爱好)
  • 添加按钮(在下拉列表和表格文本框中显示值)
  • 表格(Hobby 和 daysAWeek 将在此处显示,并带有删除图标以将其删除)
  • 提交按钮(将爱好和一周的天数以及用户名保存到数据库中)

查看爱好页面

  • 在表格中显示用户的爱好和每周的天数。

感谢您的帮助!并且请提供简单且最低限度的编码,因为我是新手!

【问题讨论】:

  • 首先添加带有 UserId 和 HobbyId 的第三张表
  • 这是否意味着如果我有 100 个用户,每个用户有 4 个爱好,我的表中将有 400 个条目?这会让它变得非常大..
  • 您存储的是 之间的关系,而不是 a 关系。所以把它想象成你有两件事,你想记住它们是相关的。因此,一个包含两列的表,一列具有一个部分的标识符,另一列具有另一部分的标识符 (ID)。将它们与每个部分的数据结合在一起,您就有了信息。因此,您已经存储了 关系。这就像元数据,真的。它通常非常有效。
  • 400不大,4亿就是,db就是为此而设计的
  • @Theone:不-您将在表中最多包含 400 个条目。如果每个人都有所有爱好,你将有 400,如果他们都是懒惰的混蛋,你将有 0。

标签: php html mysql database


【解决方案1】:

好吧,没有人发布答案,但我的问题在 cmets 中得到了回答,所以..

首先添加带有 UserId 和 HobbyId 的第三张表 - Dagon

您存储的是之间的关系,而不是关系。所以把它想象成你有两件事,你想记住它们是相关的。因此,一个包含两列的表,一列具有一个部分的标识符,另一列具有另一部分的标识符 (ID)。将它们与每个部分的数据结合在一起,您就有了信息。因此,您已经存储了关系。这就像元数据,真的。它通常非常有效。 - 贾里德法瑞什

谢谢大家!

【讨论】:

  • 我一直将这些称为“查找表”,但有些人不这样做。我也听说过它们被称为连接表。如果您曾经接触过数据库规范化,那么您就会开始在使用这些类型的表时遇到一些非常奇怪的情况(例如,有时可以查看 Drupal 数据库模式图)。
猜你喜欢
  • 1970-01-01
  • 2020-11-15
  • 2012-11-16
  • 2013-09-27
  • 2016-09-04
  • 2011-12-30
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
相关资源
最近更新 更多