/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Databasestruktur for en weblog
Fra : Thomas Damgaard Niel~


Dato : 22-08-04 00:15

Hejsa,

Jeg sidder og leger med tanken om at lave en "blog" (weblog). Hertil har
jeg brug for en database til at holde styr på de forskellige blog
entries med evt. tilhørende kommentarer.

Jeg har ikke lavet en sådan weblog før. Derfor har spørger jeg jer til
råds først.
Har nogen af jer konstrueret sådan en blog? Hvilke faldgruber er der?
Kan I evt. komme med nogle konkrete forslag på en struktur?

Jeg har tænkt mig lidt i stil med:
blog entries:
id primær nøgle
dato/tid
titel
indhold

kommentarer:
id primær nøgle
blogentry_id relation til id i "blog entries"
dato/tid
emailadresse
afsendernavn
kommentar

Allerede her er der nogle ting jeg er i tvivl om.
For det første ved jeg ikke om strukturen er rigtig. Måske er det for
simpelt? Jeg har jo ingen mulighed for trådning af kommentarene og
tilhørende svar (og svar på svar, osv., osv.). Jeg kunne dog fornemme på
den tråd som lige har været oppe omkring forums, at trådning generelt er
noget som er meget resursekrævende. Af den grund overvejer jeg at skippe
det.
Den næste ting jeg ikke helt kan finde ud af er hvilket format jeg skal
gemme tiden i.
Jeg går ud fra, at jeg laver front end og back end til min blog i php.
Derfor vil det jo være rart, at det var noget som var nemt at bruge i
php. Min erfaring er dog, at php er ret fleksibelt der. Jeg har
overvejet følgende måder at gemme tiden på:
1)
To felter:
- dato (DATE)
- tid (TIME)
Så klarer jeg, at sætte dem sammen i applikationen.

2)
Eet felt:
- dato (DATETIME)
Her gemmer jeg tiden i databasens DATETIME-format. Så må jeg parse det i
applikationen.

3)
Eet felt:
- timestamp (INTEGER)
Her vil jeg så gemme tiden i sekunder siden epoch (01-01-1970 0:00:00).
Denne tid regner jeg så om til dato og klokkeslet i min applikation.

Hvad vil I anbefale?

--
Thomas Damgaard Nielsen
http://tdn.peps.dk
Svar venligst under det du citerer. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

 
 
Thomas Lindgaard (22-08-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 22-08-04 14:09

Hejsa

On Sun, 22 Aug 2004 01:14:41 +0200, Thomas Damgaard Nielsen wrote:

> Jeg har jo ingen mulighed for trådning af kommentarene og
> tilhørende svar (og svar på svar, osv., osv.). Jeg kunne dog fornemme på
> den tråd som lige har været oppe omkring forums, at trådning generelt er
> noget som er meget resursekrævende. Af den grund overvejer jeg at skippe
> det.

Til brug i forbindelse med trådning kunne du indføre et parent_id i
kommentar-tabellen, som peger på den kommentar som kommentaren er en
kommentar til (hmm... gav den sætning mening?). Så bliver der noget
arbejde med trådningen som skal foretages i PHP...

<?php
$result = mysql_query('SELECT * FROM kommentar WHERE blog_id=42' ORDER
BY date);

// Saml kommentarerne i et array som skal bruges til trådning
$comments = array();
while ( $row = mysql_fetch_assoc() )
{
$comments[$row['id']] = $row;
}

// Skriv skidtet ud
/* Algoritme:
1) Udskriv første kommentar
2) Udskriv kommentarer med parent_id sat til foregående kommentar
(gentag indtil en sådan ikke findes)
3) Udskriv næste kommentar og gentag 2) indtil der ikke er flere
kommentarer
*/
?>

Udskrivningen håndteres nok lettest med en rekursiv funktion.

> Den næste ting jeg ikke helt kan finde ud af er hvilket format jeg skal
> gemme tiden i.
[snip]
> Hvad vil I anbefale?

Mjaeh - min personlige preference ville være Unix epoch. Et simpelt
timestamp synes jeg er lettest at have med at gøre. I hvert fald ville
jeg ikke bruge 2 felter.

--
Mvh.
/Thomas


Nezar Nielsen (23-08-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 23-08-04 11:00

Thomas Damgaard Nielsen wrote:

> Jeg har tænkt mig lidt i stil med:
> blog entries:
> id primær nøgle
> dato/tid
> titel
> indhold

Her ville det nok også være fint at kunne slå kommentarer til/fra.

Evt. bør du også lave et par sidetabeller til kategorier og
indlæg-til-kategori, så du kan tilknytte kategorier til de enkelte indlæg.


> 2)
> Eet felt:
> - dato (DATETIME)
> Her gemmer jeg tiden i databasens DATETIME-format. Så må jeg parse det i
> applikationen.

Den løsning ville jeg vælge.

--
Mvh. Nezar Nielsen
http://fez.dk

Peter Lykkegaard (23-08-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 23-08-04 18:33

"Thomas Damgaard Nielsen" wrote

> Jeg sidder og leger med tanken om at lave en "blog" (weblog). Hertil
har
> jeg brug for en database til at holde styr på de forskellige blog
> entries med evt. tilhørende kommentarer.
>
Jeg kom til at tænke på the collective

Prøv at smutte forbi http://collective.valve-erc.com
Vælg search og kik på mulighederne her

Måske det kan give lidt inspiration til din quest

- Peter



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste