Hi,

> I know you are all probably thinking "What does this have to do with PHP?"
> and in reality... It's probably stretching it a little bit... BUT I am in
> the process of writing a blog software (Yes I'm aware of all the open
> source, and paid stuff out there... I'm doing this to learn :)) I am looking
> at adding "categories" to my blog posts so I can organize my drivel into
> something that looks somewhat professional, or at the very least, organized
> so you can filter out all the crap...
>
> What I'm wondering about though, is would it be better from a database
> design stand point to do a database field for "categories" and then in there
> put "Personal", "Business", "Crap I found funny"  Basically 1 database field
> for all the categories I decide to use. OR should I go the other route and
> do 1 database field for each category?
>
> This is going to be a small blog to start, but I guess I should always be
> looking at performance, security, & maintainability right?
>
> I did read the post that tedd put up about looking at storing variables
> differently and am considering going that route... But just wanted to know
> what you all think :)
>
> Oh.... I'm also not expecting to have more then 4 or 5 categories at the
> most.... Unless I release the blog to the public and take wordpress down :P

You could use a SET field type. Internally MySQL uses numbers (a bit
mask IIRC) for them. Though you will be limited to 32 categories.

Eg:

Categories table:
ID Name
============
1  Personal
2  Business
4 Crap I found funny

Articles table:
ID Title                      Category
=======================
1  My first blog entry  1
2  A joke from work    6
3 A joke from home   5
4 A joke                   4

The numbers are bitwise sums of the corresponding category IDs.
eg.4&2=6. I think. MySQL has some built in functions for dealing with
sets, like FIND_IN_SET() IIRC, which make life a lot easier.

-- 
Richard Heyes
HTML5 canvas graphing: RGraph - http://www.rgraph.net (updated 13th March)
Lots of PHP and Javascript code - http://www.phpguru.org

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to