我希望你能提供帮助。我是一个PHP / mySQL新手,并试图建立一个显示照片的个人网站。每张照片都有一个类型(如自然或城市),导航将是一个类型列表。但是,每张照片可以有多种类型。例如,如果照片是城市动物的照片,则可以在自然和城市区域中拍摄照片。
我与这个项目有一段距离,但我不确定我是否明智地设置了它。我将每种类型设置为数据库表字段。例如,我有一个自然场和一个城市场,如果照片满足标准,我将行值设置为真。
另一个问题是我需要在遇到新类别时添加新字段。我已经设置了一个管理页面来添加更多列,但这意味着所有INSERT命令都必须是动态的,这让我感到头疼。
出于兴趣,你会有更多经验丰富的开发者接近这个吗?
提前感谢您的帮助。
答案 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)
您可以拥有照片表,类型表,然后是第三个表来定义前两个表之间的多对多关系。
这样可以更容易地动态添加新类型。