PHP:将图像分类到数据库中

时间:2012-09-21 13:52:57

标签: php mysql

我正在用PHP构建一个网站来分享我的漫画。我希望实施分类,以便人们过滤他们想要看到的漫画。

之前我曾问过这个问题,但当时我的网站架构并没有使用数据库。我自从实施了一个数据库(这很棒,顺便说一句)所以我需要改变了一切。

我认为这样做的方法是:

1)制作2个表:1个用于类别,1个用于图像

2)根据图像所在的文件系统文件夹将图像插入各自的表中并分配该表ID

3)将所有图像插入到All_Images表中,并使用新分配的类别ID

4)接受用户输入以决定要显示的图像。因此,如果用户输入= cat 1,则显示类别为1的图像。

所以,基本上我需要一种方法,当它们从文件系统进入时,最初为图像分配类别。 有更简单的方法吗?我是否必须创建多个表格?

对此有何想法?

谢谢!

3 个答案:

答案 0 :(得分:4)

通常的方法是拥有一个图像表(大概是文件名而不是实际图像?)然后是一个多对多的类别关系,这样每个漫画都可以有不止一个:

Table:Image
-----------
rowid: integer identity
displayname: varchar
filename: varchar

Table:Category
--------------
rowid: integer identity
displayname: varchar

Table:ImageCategoryLink
-----------------------
imageid: integer foreign key references Image:rowid
categoryid: integer foreign key references Category:rowid

清除?

答案 1 :(得分:1)

一个具有id和name等的表类别,一个用于具有id src名称的图像的表等。

之后有两个选择:

  • 如果图片只有一个类别,请在表格图片
  • 中添加字段id_category
  • 如果图片可以包含多个类别,请使用id_image和id_category
  • 创建另一个表image_category

答案 2 :(得分:0)

因为你是一个初学者(没有冒犯),我不认为表中会有数百万或卡通。使用SET字段(如果您的漫画只能有一个类别,则为ENUM)。

有些人会对此进行投票,因为使用此功能会产生一些负面影响(主要是在您想要更改类别时)。但是对于相对较小的桌子,这不会有任何影响。

这将是最简单的解决方案。如果您希望网站变大,请为您的类别使用第二个表并加入表格。