---
title: "Göra forum? Hjälp! #2"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/106673-göra-forum-hjälp-2"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Kenchu"
published: "2004-07-03T13:50:54.000Z"
updated: "2004-07-04T01:43:53.000Z"
replies: 12
views: 381
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/106673-göra-forum-hjälp-2"
---

# Göra forum? Hjälp! #2

## #1 — Kenchu, 2004-07-03T13:50Z

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?

Kan eventuellt komma upp med fler frågor. :)

Tacksam för svar!

Permalänk: https://www.webforum.nu/p/106673

## #2 — tydal, 2004-07-03T13:59Z

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>

Permalänk: https://www.webforum.nu/p/1378749

## #3 — Kenchu, 2004-07-03T14:10Z

Ah, okay. Jag tänkte mig detta, men tyckte det var så flummigt, och att det borde finnas andra lösningar. :) Alltså:

```php
SELECT things FROM table WHERE 2nd_id='0'
```

Något i den stilen?

Ska läsa direkt om tiden. Tack!

EDIT

\-----------------------------------------------------------------

Så här blev det:

```php
	$year = substr("{$line["date"]}", 2, -15); 
	$month = substr("{$line["date"]}", 5, -12); 
	$day = substr("{$line["date"]}", 8, -9); 
	$hour = substr("{$line["date"]}", 11, -6);
	$sec = substr("{$line["date"]}", 14, -3);
	
	echo $year. "/". $month. "/". $day. " at ". $hour. ":". $sec;
```

Tackar tackar :).

\-----------------------------------------------------------------

En till fråga! Hur gör man sticky threads, dvs trådar som jämt håller sig på toppen i forumet?

Permalänk: https://www.webforum.nu/p/1378750

## #4 — Pedda, 2004-07-03T19:57Z

> **Kenchu skrev:**
>
> 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.

Hoppas att jag var tydlig nog.  :)

Permalänk: https://www.webforum.nu/p/1378858

## #5 — Kenchu, 2004-07-03T20:31Z

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?

Permalänk: https://www.webforum.nu/p/1378898

## #6 — Pedda, 2004-07-03T20:57Z

Ja, det går att sortera efter båda.
SELECT \* FROM tabell ORDER BY sticky, id  DESC
Sorterar först efter sticky och sedan id

Permalänk: https://www.webforum.nu/p/1378903

## #7 — Kenchu, 2004-07-03T21:43Z

ah, coolt. Grundläggande saker jag ej lärt mig. :) Tack tack!

Permalänk: https://www.webforum.nu/p/1378916

## #8 — bohlin, 2004-07-03T22:25Z

```php
$year = substr("{$line["date"]}", 2, -15); 
    $month = substr("{$line["date"]}", 5, -12); 
    $day = substr("{$line["date"]}", 8, -9); 
    $hour = substr("{$line["date"]}", 11, -6);
    $sec = substr("{$line["date"]}", 14, -3);
    
    echo $year. "/". $month. "/". $day. " at ". $hour. ":". $sec;
```

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?

```php
$timestamp = strtotime($line["date"]); //gör om till ett UNIX timestamp
echo date("Y/m/d at H:i", $timestamp); //skriv ut datum
```

Permalänk: https://www.webforum.nu/p/1378932

## #9 — Kenchu, 2004-07-03T22:36Z

gah, och jag som just pillat med en jättecool funktion som skrivet ut månder och skit. \>\_\< Måste testa det här också. :) Brb.

Permalänk: https://www.webforum.nu/p/1378940

## #10 — bohlin, 2004-07-03T22:41Z

oj, tryckte fel, råkade citera mitt eget inlägg...

Permalänk: https://www.webforum.nu/p/1378943

## #11 — Kenchu, 2004-07-03T23:44Z

aah, det var ju som faen. \>\_\< Har suttit och pillat med detta:

```php
function normalize($date) {
	$year 	= substr("$date", 0, -15); 
	$month 	= substr("$date", 5, -12); 
	
		if ($month == 1) {
			$month = "January";
		} else if ($month == 2) {
			$month = "February";
		} else if ($month == 3) {
			$month = "Mars";
		} else if ($month == 4) {
			$month = "April";
		} else if ($month == 5) {
			$month = "May";
		} else if ($month == 6) {
			$month = "June";
		} else if ($month == 7) {
			$month = "July";
		} else if ($month == 8) {
			$month = "August";
		} else if ($month == 9) {
			$month = "September";
		} else if ($month == 10) {
			$month = "October";
		} else if ($month == 11) {
			$month = "November";
		} else if ($month == 12) {
			$month = "December";
		}
	
	$day 	= substr("$date", 8, -9); 
	
		if (substr("$date", 9, -9) == 1) {
			$ending = ":st";
		} else if (substr("$date", 9, -9) == 2) {
			$ending = ":nd";
		} else if (substr("$date", 9, -9) == 3) {
			$ending = ":rd";
		} else if (substr("$date", 9, -9) == 4 || substr("$date", 9, -9) == 5 || substr("$date", 9, -9) == 6 || substr("$date", 9, -9) == 7 || substr("$date", 9, -9) == 8 || substr("$date", 9, -9) == 9  || substr("$date", 9, -9) == 0) {
			$ending = ":th";
		}
		
		if (substr("$date", 8, -10) == 0) {
			$day = substr("$date", 9, -9);
		} else if (substr("$date", 8, -10) == 1) {
			$ending = ":th";
		}
	
	$hour 	= substr("$date", 11, -6);
	$min 	= substr("$date", 14, -3);

	$date = $day. $ending. " of ". $month. " ". $year. ", at ". $hour. ":". $min;
	
	return $date;
}
```

Så fanns den där enkla saken istället. :P

Permalänk: https://www.webforum.nu/p/1378966

## #12 — Kenchu, 2004-07-04T00:04Z

Varför blir det konstigt utan strtotime? Det som skrivs på php.net är ju helt skumt.

Permalänk: https://www.webforum.nu/p/1378967

## #13 — Nexus86, 2004-07-04T01:43Z

> **Kenchu skrev:**
>
> Varför blir det konstigt utan strtotime? Det som skrivs på php.net är ju helt skumt.

För att utan strtotime är datumet fortfarande en sträng och meningen är att det ska vara ett datum. ;)

Permalänk: https://www.webforum.nu/p/1379004

---

Tråden på webben: https://www.webforum.nu/amne/php/106673-göra-forum-hjälp-2
