---
title: "Trådat forum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/114494-trådat-forum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "ironhead"
published: "2004-10-27T06:27:30.000Z"
updated: "2004-10-27T08:17:22.000Z"
replies: 8
views: 307
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/databaser-sql/114494-trådat-forum"
---

# Trådat forum

## #1 — ironhead, 2004-10-27T06:27Z

Hej igen!

Jag har en tabell enl. följande:

forum
\-------

MsgID (räknare)
ParentID \[int\]
Show \[int\]
Body (text)
Title (varchar)

Detta är tabellen till ett trådat forum.
Jag har gjort ett admin-gränssnitt som gör att man kan gå in på ett inlägg och sätta "Show=0" och gömma just det inlägget (istället för att radera det).

Problemet är: Hur gör man en SELECT-sats som kan leta reda på alla relaterade trådar (ParentID) till det inlägget som man tar bort och de efterkommande svaren på det inlägget?

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

## #2 — @nders, 2004-10-27T06:29Z

Hmm...

Om jag inte missförstår:

```
SELECT f1.MsgID FROM forum f1 INNER JOIN forum f2 ON f1.MsgID = f2.ParentID WHERE f2.MsgID = 4711
```

mvh

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

## #3 — ironhead, 2004-10-27T06:48Z

**@nders:** Det där förstod jag inte alls....jag vill alltså uppdatera (UPDATE) fältet "Show" med 0 (noll) från "MsgId" 4711 och alla trådar som är relaterade till den tråden i nedstigande led :)

Alla meddelanden ligger i "forum"-tabellen

alltså:

MsgId-----ParentID
4711------0
4712------4711
4723------4712
.
.
.
4799-----4723

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

## #4 — @nders, 2004-10-27T07:02Z

Säg det då. Som man frågar får man svar... ;)

Jag skulle vilja föreslå att du gör en rekursiv funktion i det scriptspråk du använder för att uppdatera en nivå i taget. Det finns nog en del att hitta om du söker i SQL-forumet. Exempelvis vet jag att Palle ställer en närbesläktad fråga i en relativt ny tråd. ;)

Visar du alltså ett och samma inlägg i flera trådar? Jag är lite förvirrad...

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

## #5 — Palle, 2004-10-27T07:02Z

Känns som om du och jag sitter i samma båt ironhead. ;)
<http://www.webforum.nu/showthread.php?s=&postid=936671#post936671>

Tror vi har en liknande uppbyggnad, dock i olika syften, 
men inget av det som jag har testat har fungerat. :(

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

## #6 — ironhead, 2004-10-27T07:18Z

> **@nders skrev:**
>
> Visar du alltså ett och samma inlägg i flera trådar? Jag är lite förvirrad...

Nej!

MsgId-----ParentID---Title
4711------0----------test1
4712------4711-------re: test1
4723------4712-------re: re: test1
.
.
.
4799-----4723--------re: re: re: test1

Förstår du då  :)

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

## #7 — @nders, 2004-10-27T07:20Z

Ah, nu förstår jag. Det är nog jag som inte förstår hur ett trådat forum fungerar. ;)

Så, när ett inlägg raderas så raderas även svaren på det inlägget, är det så du menar? Det låter totalt livsfarligt, men skulle gå att lösa utan en allt för klurig rekursiv funktion.

mvh

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

## #8 — ironhead, 2004-10-27T07:21Z

Har försök göra nån slags av quick and dirty-lösning, men det har ju inte med SQL-forumet att göra egentligen...

ofmsgid = id:et på den tråd jag vill radera

```
SET RS = oConn.Execute("SELECT MsgID,ParentId FROM Messages WHERE MsgID=" & ofmsgid)
ParentId = RS("ParentId")

oConn.Execute("UPDATE Messages SET Show=0 WHERE MsgID=" & ofmsgid & " AND ParentId=" & ParentId)

SET RS2 = oConn.Execute("SELECT MsgID,ParentId FROM Messages WHERE ParentID=" & ofmsgid)
ofmsgid = RS2("MsgId")
```

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

## #9 — ironhead, 2004-10-27T08:17Z

> **Palle skrev:**
>
> Känns som om du och jag sitter i samma båt ironhead. ;)
> <http://www.webforum.nu/showthread.php?s=&postid=936671#post936671>
> 
> Tror vi har en liknande uppbyggnad, dock i olika syften, 
> men inget av det som jag har testat har fungerat. :(

Tuta åt mig om du kommer på nåt finurligt, så tutar jag om jag fixar det...  :e

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/114494-trådat-forum
