关于建立数据库项目的PHP MYSQL建议


PHP MYSQL Advice for setting up a database project

希望你能帮忙。我是一个PHP/mySQL新手,并试图建立一个显示照片的个人网站。每张照片都有一个类型(比如自然或城市),导航栏将是一个类型列表。然而,每张照片可以有不止一种类型。例如,如果一张照片拍摄的是城市中的动物,那么它可以同时出现在自然区和城市区。

我与这个项目有一些距离,但我不确定我是否合理地设置了它。我将每种类型设置为数据库表字段。例如,我有一个自然字段和一个城市字段,如果照片满足条件,我将行值设置为true。

另一个问题是,当遇到新类别时,我需要添加新字段。我已经建立了一个管理页面来添加更多的列,但这意味着所有的INSERT命令等都必须是动态的,这让我很头疼。

出于兴趣,你们这些经验丰富的开发人员会如何处理这个问题?

提前感谢任何帮助。

您可以有一个用于存储照片的表,一个用于存储类型的表,然后第三个表用于定义前两个表之间的多对多关系。

你可以看到你的解决方案无法扩展-你必须不断添加列,其中大多数将为NULL,等等。

我会在中间放一个映射表,像这样:

photos -> photo_cat_x -> category

photo_cat_x可能看起来像这样:

  photo_id int(11) not null,
  category_id int(11) not null

为photo_cat_x中的每张照片放置一个或多个行。当你想找到一个类别中的所有照片时,从这个新表开始。

希望有帮助!