Skrev tidigare en tråd där jag behövde hjälp med att göra ett forum. :) Jag fick svar på de flesta av mina frågor, men nu när jag arbetar med ett lite mer seriöst forum behöver jag hjälp igen.
Först av allt, och frågan jag aldrig riktigt fick svar på:
hur skall huvudinlägg och svarsinlägg leva i harmoni med varandra? Dvs, hur skall detta med tabeller fungera? I min förra lösning avände två tabeller för detta: huvudinläggstabell och svarstabell. Men jag gillar inte den lösningen, och som jag förstått det borde det gå att ha båda i en och samma tabell. Men hur fungerar det? På forumets huvudsida, vad ska man skriva i MySQL-frågan för att endast rita ut huvudinläggen? Vad är det som karakteriserar huvudinläggen? Hur har ni gjort med era forum, eller hur skulle ni göra?
Det andra, som jag antar är relativt enkelt, är det här med tid:
Att skriva ut datetime direkt från databasen ser inte särskilt snyggt ut. Hur ska man göra för att få det att se snyggare ut, dvs ändra om att det kanske står 14:36 04/02/06 istället för 2004-02-6 14:36?
Angående svarsinlägg, ha en kolumn i tabellen som talar om vilket id inlägget som det är svar på har. Finns det inget värde i den kolumnen så är ju inlägget inget svar, utan ett huvudinlägg.
Till datumutskriften: det finns en funktion som heter substr som du kan använda för att plocka ut delar av en sträng: http://se.php.net/substr
En till fråga! Hur gör man sticky threads, dvs trådar som jämt håller sig på toppen i forumet?
Ha en kolumn i tabellen med trådar som heter t.ex sticky.
När du väljer att en tråd ska vara "sticky" så uppdaterar du kolumnen och sätter ett värde på kolumnen sticky.
När du hämtar trådarna i forumet så hämtar du först de som har ett värde på sticky och sedan övriga.
Jodå, det var du. Jag har även tänkt på det där innan, men vet inte riktigt hur jag skall uttrycka det i query-satsen. Går det att göra båda sakerna i en och samma fråga, eller krävs det två satser?
Fast det där tycker jag inte var en särskillt bra lösning. Det egentliga problemet var ju att du ville ha datumet i ett annat format, så varför inte använda PHP-funktionen date() som fixar det?
$timestamp = strtotime($line["date"]); //gör om till ett UNIX timestamp
echo date("Y/m/d at H:i", $timestamp); //skriv ut datum