---
title: "Skriva ut mappstruktur"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/151790-skriva-ut-mappstruktur"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2006-09-26T17:13:59.000Z"
updated: "2006-09-28T20:30:51.000Z"
replies: 5
views: 714
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/151790-skriva-ut-mappstruktur"
---

# Skriva ut mappstruktur

## #1 — learn, 2006-09-26T17:13Z

Hej, jag lyckas bara inte lista ut hur jag ska göra. Behöver hjälp av ngt snille här på wF!

Det är så att jag har en databas (MySQL) där en massa mappar är lagrade.

Tabellen kan se ut så här:

```
mappID  |  ligger_i_mapp  |  namn
------------------------------------------
1              0            mapp 1
2              0            mapp 2
3              1            mapp 3
4              1            mapp 4
5              4            mapp 5
6              3            mapp 6
7              6            mapp 7
8              0            mapp 8
```

mappID = mappens unika värde
ligger_i_mapp = ID på den mapp som mappen "ligger i" 
namn = mappens namn.

En mapp kan ha ett obegränsat antal undermappar.

Nu vill jag på ett snyggt sätt skriva ut mappstrukturen. Ovanstående exempel ska alltså bli typ såhär:

```
mapp 1
- mapp 3
-- mapp 6
--- mapp 7
- mapp 4
-- mapp 5
mapp 2
mapp 8
```

Ja, ni förstår, så som det brukar se ut.

Ungefär hur ska min PHP-kod med sql-querys och loopar se ut?? Snälla hjälp mig i rätt riktning.

Tack så mkt på förhand!!   :bire

**R:** Den här tråden kanske passar bättre i SQL-forumet...?

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

## #2 — learn, 2006-09-26T18:35Z

Jag blir gaalen, hur jag än vrider och vänder på det så kan jag inte komma på hur jag ska göra..!!?? Det går ju att lösa med hundra loopar, men hur snyggt är det...

Antar att jag tänker i fel banor... Säkert lättare än jag tror.

Finns det ngn där ute som har lust att briljera med sina programmeringskunskaper och sitt logiska tänkande...? :) Tack!

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

## #3 — learn, 2006-09-27T07:39Z

Godmorgon!

Någon som kan hjälpa mig på traven?

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

## #4 — Dies_Irae, 2006-09-27T09:29Z

Nått sådant här kanske?
Borde finnas lättare sätt tycker jag men kom inte på nått vettigt :) 

```
<?

$dir[1] = "Mapp 1";
$dir[2] = "Mapp 2";
$dir[3] = "Mapp 3";
$dir[4] = "Mapp 4";
$dir[5] = "Mapp 5";

$inside[1][] = 3;
$inside[1][] = 5;

/*
query("SELECT * FROM tabel");
while(next) {
  $dir[mappID] = namn;
  $inside[ligger_i_map][] = mappID;
}
*/

function print_dir($index, $count) {
	global $inside, $dir;
	
	$current = &$dir[$index];
	echo str_repeat("-", $count) . " $current<br>";  
	$current = NULL;
	
	$inside_me = $inside[$index];
	$next_count = $count + 1;
	if (is_array($inside_me))	  	
		while(list($id, $map) = each($inside_me))	print_dir($map, $next_count);
}

while(list($id) = each($dir)) if ($dir[$id]) print_dir($id, 1);

?>
```

Resultat:

```
- Mapp 1
-- Mapp 3
-- Mapp 5
- Mapp 2
- Mapp 4
```

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

## #5 — learn, 2006-09-28T08:37Z

Tack Dies_Irae!

Ska genast testa din kod. Fler får gärna komma med förslag! :)

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

## #6 — Moberg, 2006-09-28T20:30Z

Mmm eftersom du har mappar i mappar så är ju en rekursiv funktion bra ja...

Men det är inte så att du har en fysisk mappstruktur eller så? För vad jag vet så ska man kunna utsmycka dem lite som man vill också. (Alltså såna träd som kommer upp automatiskt i vävläsaren om du surfar in i en mapp utan någon sida som startas automatiskt.)

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

---

Tråden på webben: https://www.webforum.nu/amne/php/151790-skriva-ut-mappstruktur
