Beste manier db structuur
Ik ben bezig met een forum:
Maar wat is nu de beste manier om de database structuur te maken voor catagorien?
Ik zat zelf hieraan te denken:
cat_id(A.I) | cat_naam | cat_slogan | rank
Rank is zegmaar de bevoegdheid:
1 = iedereen mag lezen
2 = alleen registreerde mogen lezen
enz
Als je categorieën wilt zul je op zo iets uitkomen:
categorie
- id
- parent_id
- title
- description
- rank
Denk bij de overige delen van het forum na over wat je waar wilt weergeven, dit kan namelijk wel enige problemen vormen in je Query. Zo heb ik zelf heel lang gedaan om op mijn index pagina de laatste post weer te geven. Dit wilde ik in een query doen, uit eindelijk niet met 1 query maar wel met 2...
Tip: Zorg dat je code overzichtelijk blijft!
Ik neem aan dat parent_id voor subcatagorien is of niet?
Een mogelijkheid is via een parent.
Subcategorieën van de categorie houden dan de id van de parent bij.
Als je nog iets avontuurlijker wil werken:
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html
Dit laatste laat een oneindig (nu ja ...) complexe boomstructuur toe.
@milo dat last post is toch niet zo moeilijk , Je maakt een extra colom in je database last_post ( ofzoiets ) dan als iemand een reactie geeft dan update je gewoon last_post met de datum van nu
Jordi kroon op 18/03/2011 18:55:30:
@milo dat last post is toch niet zo moeilijk , Je maakt een extra colom in je database last_post ( ofzoiets ) dan als iemand een reactie geeft dan update je gewoon last_post met de datum van nu
een extra kolom is totaal overbodig.. met mysql kan je dit gewoon oplossen :s
Je dat is waar ja het eerste wat in mij opkwam xD
Maar extra kolom, is wel weer overdreven -_-'
1rank de; v(m) -en 1 dunne twijg 2 vergroeid blad waarmee de plant zich aan een steunpunt vasthecht
2rank bn, bw lang en smal; slank
Aldus Van dale
Zorg er altijd voor dat als je gaat programmeren je 1 taal gebruikt. Of engels of nederlands. Als je dit door elkaar gaat gooien krijg je weer gedoe met benoeming van variablen en dergelijke. Plus als iemand anders door jou code gaat spitten is dat voor zo een persoon soms lastig te begrijpen wat het doet.
Ik heb trouwens de last post op deze manier gedaan . Is dat slim?
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$selectlast_post = mysql_query("SELECT post_id, topic_id, post, author, date FROM sfi_posts WHERE topic_id = '". mysql_real_escape_string($topic_fetch['topic_id']) ."' ORDER BY date DESC LIMIT 0,1 ");
$fetchlast_post = mysql_fetch_assoc($selectlast_post);
?>
Last post by <?=$fetchlast_post['author'] ?> <br />
(<?=$fetchlast_post['date'] ?>)
$selectlast_post = mysql_query("SELECT post_id, topic_id, post, author, date FROM sfi_posts WHERE topic_id = '". mysql_real_escape_string($topic_fetch['topic_id']) ."' ORDER BY date DESC LIMIT 0,1 ");
$fetchlast_post = mysql_fetch_assoc($selectlast_post);
?>
Last post by <?=$fetchlast_post['author'] ?> <br />
(<?=$fetchlast_post['date'] ?>)
Gewijzigd op 19/03/2011 15:00:48 door Jordi Kroon