PHP MYSQL用于设置数据库项目的建议

时间:2011-04-07 22:22:16

标签: php mysql

我希望你能提供帮助。我是一个PHP / mySQL新手,并试图建立一个显示照片的个人网站。每张照片都有一个类型(如自然或城市),导航将是一个类型列表。但是,每张照片可以有多种类型。例如,如果照片是城市动物的照片,则可以在自然和城市区域中拍摄照片。

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

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

出于兴趣,你会有更多经验丰富的开发者接近这个吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您可以看到您的解决方案无法扩展 - 您必须不断添加列,其中大部分都是NULL等。

我在其间放置了一个映射表,如下所示:

照片 - > photo_cat_x - >类

photo_cat_x可能如下所示:

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

为photo_cat_x中的每张照片添加一行或多行。如果要查找某个类别中的所有照片,请从该新表开始。

希望有所帮助!

答案 1 :(得分:1)

您可以拥有照片表,类型表,然后是第三个表来定义前两个表之间的多对多关系。

这样可以更容易地动态添加新类型。