2012-09-21 4 views
0

나는 만화책을 공유하기 위해 PHP로 웹 사이트를 만들고있다. 사람들이보고 싶은 만화를 필터링 할 수 있도록 분류를 구현하고 싶습니다.PHP : 이미지를 데이터베이스로 분류하기

이전에이 질문을했지만 그 당시 사이트의 아키텍처가 데이터베이스를 사용하지 않았습니다. 데이터베이스를 구현 한 이후 (놀라운, btw) 데이터베이스를 변경해야합니다. 나는이 작업을 수행하는 방법을 생각하고

은 다음과 같습니다

1) 2 개 테이블 확인 : 어떤 파일 시스템 폴더에 따라 범주에 대한 1, 각각의 테이블에 이미지

2) 이미지를 삽입 1을 그들이 '에서 다시 그 테이블 ID

3) 자신의 새로 할당 된 카테고리 ID

4) 표시 할 이미지를 결정하기 위해 사용자의 입력에 가지고와 All_Images 테이블에 모든 이미지를 삽입을 할당합니다. 따라서 사용자 입력 = cat 1이면 범주 1 id의 이미지를 표시하십시오.

그래서 기본적으로 파일 시스템에서 이미지가 처음 들어올 때 카테고리를 할당해야합니다. 더 쉬운 방법이 있나요? 여러 테이블을 만들어야합니까?

이것에 대한 의견이 있으십니까?

감사합니다.

+1

태그 지정 디자인이 이미지 카테고리로 퍼지기에 더 적합 할 것이라고 생각합니다. –

답변

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 

클리어 : 각 만화를 하나 이상 가질 수 있도록 카테고리에 일대 다 관계 및 (? 아마도 파일 이름보다는 실제 이미지)를 이미지 테이블을 가지고?

+0

그래서 실제로는 하나 이상의 표가 필요합니다. 이것은 내가 생각하고 있었던 것이다. 나는 이것을 시도 할 것이다, 고마워! – Growler

+0

Fry_95가 언급 됨.확실히 만화 당 하나의 카테고리 만 원하면 이미지 테이블에 열을 추가 할 수 있지만이 방법을 사용하면 유연성을 얻을 수 있습니다. – Lukos

1
ID와 이름 등으로

하나 개의 테이블 카테고리, 아이디 SRC 이름 등으로 이미지에 대한 하나 개의 테이블 그 이후

두 가지 선택 : 이미지가 오직 하나 개의 범주가 있습니다

  • 경우를 넣어 테이블 이미지
  • 에서 필드 id_category는 이미지는 여러 종류가 될 것 id_image 또 다른 테이블 image_category 및 id_category
0

초보자 (불쾌감을 느끼지 않으므로) 나는 테이블에 수백만이나 만화가있을 것이라고 생각하지 않기 때문에. 범주에 대한 귀하의 만화에만 범주가있을 수있는 경우 SET 필드 (또는 ENUM)를 사용하십시오.

이 항목을 사용하면 부작용이 생길 수 있으므로 (주로 범주를 변경하려는 경우) 투표를 실시 할 사람이 있습니다. 그러나 상대적으로 작은 표가 있으면 아무런 효과가 없습니다.

이것은 가장 쉬운 해결책입니다. 사이트가 커질 것으로 예상되는 경우 카테고리에 대해 두 번째 테이블을 사용하고 테이블을 조인하십시오.

관련 문제