---
title: "Rekursiv funktion"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/15689-rekursiv-funktion"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "jepsO"
published: "2001-05-29T07:21:00.000Z"
updated: "2001-05-29T19:54:00.000Z"
replies: 2
views: 201
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/15689-rekursiv-funktion"
---

# Rekursiv funktion

## #1 — jepsO, 2001-05-29T07:21Z

Jag skrev [ett inlägg](http://www.phpbuilder.com/forum/read.php3?num=2&id=137905&loc=0&thread=137905) på phpbuilder.com i hopp om att få svar på hur man konstruerar en rekursiv funktion som listar inläggen i ett forum, men inget svar fick jag. Dessutom fungerar det inte att söka på "recursive" på förstasidan :(

Kanske kan någon vänlig själ på detta forum läsa [inlägget](http://www.phpbuilder.com/forum/read.php3?num=2&id=137905&loc=0&thread=137905) och ge förslag på lämplig funktion?

Jag har själva tillvägagångssättet någorlunda klart för mig, men jag är rätt färsk på PHP.

Följdfråga: I [inlägget](http://www.phpbuilder.com/forum/read.php3?num=2&id=137905&loc=0&thread=137905) nämner jag tre ID-kolumner - unikt ID, replyID och startID. Går det att skippa startID och låta den rekursiva funktionen känna av om ett inlägg är svar på ett annat (reply) eller inte (nytt ämne)?

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

## #2 — Agaith, 2001-05-29T10:58Z

Tjenna, jag skrev något liknande för ett tag sedan, mest för att ha om det skulle behövas.

Jag vet inte om det ar exakt, men du kan kanske modifiera den så den passar dig.

Jag använder två bilder, arrow.gif & blank.gif för att få rätt indrag.

Vet inte vilken sql du kör, detta är postgresql

```
<?php
$conn = pg_connect("user=*** dbname=***");
	if (!$conn) {
	    echo "An error occured.\n";
	    exit;
	}
threads($messid, $conn);

function threads($messid = '0', $conn, $indrag = '0')
	{
	$sql="SELECT id, mess, replyto FROM messages WHERE replyto = '$messid' ORDER BY id";
	$result_set = pg_Exec ($conn, $sql);
	$rows = pg_NumRows($result_set);
	if($rows > 0)
		{
		for ($x =0; $x < $rows; $x++)
			{
			$messid = pg_result($result_set, $x, 0);
			$text = pg_result($result_set, $x, 1);
			$reply = pg_result($result_set, $x, 2);
			if($reply!=0)
			{ 
				$indrag++;
				for ($z=0; $z < $indrag-1;$z++)
					{
					echo "<IMG SRC=\"blank.gif\">";
					}
				echo "<IMG SRC=\"arrow.gif\">";
				}
			echo "$messid&#0124;, $text&#0124;, $reply&#0124;, $indrag&#0124;<BR>";
			threads($messid, $conn, $indrag);
			if($reply!=0)
			{ $indrag--; }
			}
		}	
	}
?>
```

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

## #3 — jepsO, 2001-05-29T19:54Z

Glöm vad jag skrev här innan, allt funkar som det ska :e

Tackar så hjärtligt

\[Redigerat av jepsO den 29 maj 2001\]

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

---

Tråden på webben: https://www.webforum.nu/amne/php/15689-rekursiv-funktion
