Just nu i M3-nätverket
Gå till innehåll

Visa undermeny i herarki-menysystem


Peter Westerlund

Rekommendera Poster

Peter Westerlund

Jag hittade för ett tag sen ett mycket bra menysystem där man kan lägga till oändligt med undermenyer med hjälp av parent_id.

 

Det jag vill kunna göra nu är att utifrån en adress t ex. minsida.php?id=3 få fram undermenyn för id 3. Och om jag t ex. går in på sida minsida.php?id=12 och det t ex. är en undersida till en undersida som är underisa till id 3 så ska undermenyn för id 3 visas ända ner i "herarki-nivån" till id 12's undermeny.

 

Så här ser koderna ut. Här är sida menu_r.php:

<?
define( "SEPARATOR", "/" );

function menu_r( $emitter=array(0), $collector=array() ) {
  $items = array();

  /* Basfall - har vi nått botten på path'en? */
  if( ($parent_id=array_shift( $emitter ))!==null ) {
     $collector[] = $parent_id;
     $sql = "SELECT * FROM contents WHERE parent_id='$parent_id' AND uid='".fdomain_get_id($_SERVER['HTTP_HOST'])."' ORDER BY sort";
     $result = mysql_query( $sql );

     while ( $row = mysql_fetch_assoc($result) ) {
        $item = array();
        $id = $row['id'];
	 $item['parent_id'] = $row['parent_id'];
	 $item['sort'] = $row['sort'];
        $item['value'] = $row['name'];
        $item['link'] = $row['link'];
        $item['path'] = implode( SEPARATOR, $collector );  // vägen hit

	 $item['hide'] = $row['hide'];

      /* Finns det undermenyer? (oeffektiv fulkod) */
        if( sizeof( menu_r(array($id) ) )>0 ) {
           $item['items'] = array();  // sätts om det finns undermenyer
           if( sizeof($emitter)>0 && $id==$emitter[0] ) {
              /* traversa undermenyerna om denna nod är nästa i $emitter */
              $item['items'] = menu_r( $emitter, $collector );
           }
        }

        $items[$id] = $item;
     }
  }

  return $items;
}
?>

 

som inkluderas här där menyn ska visas:

 

	<?
include "_includes/menu_r.php";

/*
* Bara för lite snyggare output än print_r()
* 
* Man kanske vill använda templates (Smarty, etc) till detta istället
*/
function showmenu() {
   $path = array(0);
   if( isset( $_GET['path'] ) && $_GET['path'] ) {
	  $path = explode( SEPARATOR, $_GET['path'] );
   }
   $items = menu_r( $path );
   drawitems( $items );
}

/* Recursiv */
function drawitems( $items, $depth=0 ) {
   $i = 0;
   foreach( $items as $id => $item ) {
   $i = ++$i;
	  $path = $item['path'].SEPARATOR.$id;
	  $value = $item['value'];
	  $link = $item['link'];
	  if( isset( $item['items'] ) ) {
		echo "<a style=\"padding-left:".(15*$depth)."px;\" href=\"".$_SERVER['PHP_SELF']."?path=$path\">$value</a> <b>»</b><br>";
		 drawitems( $item['items'], $depth+1 );
	  }
	  else
	  {
		echo "<span style=\"padding-left:".(15*$depth)."px;\">$value</span><br>";
	  }
   }
}
showmenu();
?>

 

Förstår ni hur jag menar? hur gör man?

 

Länk till kommentar
Dela på andra webbplatser

Hej, jag laddade ned din kod och lyckades fixa det tror jag.

Det du behöver göra är att uppdatera din showmenu

funktion mot denna istället: Ändringen syns i fetstil.

Det funkar så att om du anropar sidan med t.ex. ?id=12

så kommer den först skapa meny-sökvägen 0/1/4/12

eller vad det nu kan vara och sedan anropa menu_r funktionen.

 

verkar vara ett bra menysystem för övrigt..

 

mvh Simon

 

 

function showmenu() {

$path = array(0);

 

// om ?id= är satt

if ( isset( $_GET['id'] )) {

$reverse_path = array(0);

$id = $_GET['id'];

$i=0;

while (TRUE) {

$table = mysql_query("SELECT * FROM contents WHERE id=$id");

if (mysql_num_rows($table)==0) break;

$row = mysql_fetch_array($table);

$id = $row['parent_id'];

$reverse_path[$i++]=$id;

}

for ($i=0;$i<count($reverse_path);$i++) {

$path[$i]=$reverse_path[count($reverse_path)-1-$i];

}

}

 

else if( isset( $_GET['path'] ) && $_GET['path'] ) {

$path = explode( SEPARATOR, $_GET['path'] );

}

$items = menu_r( $path );

drawitems( $items );

}

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Med din kod så skriver den ut huvudmenyn. Och om jag ändrar queryn till WHERE parent_id=$id så tar sidan jättelång tid att ladda och den avbryter sidladdningen f o m där undermenyn ska ligga.

 

Länk till kommentar
Dela på andra webbplatser

Hej, vad konstigt, det funkar på min dator.

Jag har gjort en meny i databasen som ser

ut så här:

 

 

--- 1

------ 3

---------- 7

---------- 8

----- 4

--- 2

------ 5

------ 6

 

 

Och om jag väljer sida.php?id=7

så får jag menyn så här:

 

---1

------ 3

--------- 7

--------- 8

------ 4

--- 2

 

Det ska inte vara WHERE parent_id=$id hur som helst.

Då blir det nån form av rundgång tror jag.

 

Du glömde väl inte else satsen?

 

else if( isset( $_GET['path'] ) && $_GET['path'] ) {

$path = explode( SEPARATOR, $_GET['path'] );

}

 

[inlägget ändrat 2008-02-19 17:32:25 av zzzimon]

Länk till kommentar
Dela på andra webbplatser

Nej det var visst ingen bugg. Det var jag som

glömde uppdatera webbläsaren. Har du också

tänkt på att det inte räcker skriva adressen på

nytt utan man måste också trycka på uppdatera-

knappen. Annars läser den från cachen

 

/Simon

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Okej, jo jag höll på att svara på ditt föregående inlägg då jag såg att du skrivit detta. Men undrar en sak angående din lilla illustration av hur ditt menysystem i databasen fungerar. Du skrev alltså följande:

 

--- 1

------ 3

---------- 7

---------- 8

----- 4

--- 2

------ 5

------ 6

 

Då undrar jag, är 1 och 2 huvudkategorier? Alltså med parent_id=0? För i ditt andra exempel där du visar hur du får ut menyn då ligger ju 1 och 2 med där, jag vill bara att 1's undermeny ska ligga där, och tillhörande underkategorier ända ner till i detta fall id 7's underkategori.

 

Okej nu skrev du på nytt..

Har testat med uppdatera-knappen också. Ingen skillnad för mig.

 

Här är alltså "min" kod plus din kod:

	<?
include "_includes/menu_r.php";
/*
* Bara för lite snyggare output än print_r()
* 
* Man kanske vill använda templates (Smarty, etc) till detta istället
*/
function showmenu()
{
$path = array(0);

	// om ?id= är satt
	if (isset($_GET['id']))
	{
	$reverse_path = array(0);
	$id = $_GET['id'];
	$i=0;
		while (TRUE)
		{
		$table = mysql_query("SELECT * FROM contents WHERE id=$id AND uid='".fdomain_get_id($_SERVER['HTTP_HOST'])."'") or exit(mysql_error());
		if (mysql_num_rows($table)==0) break;
		$row = mysql_fetch_array($table);
		$id = $row['parent_id'];
		$reverse_path[$i++]=$id;
		}
			for ($i=0;$i<count($reverse_path);$i++)
			{
			$path[$i]=$reverse_path[count($reverse_path)-1-$i];
			}
	}
	elseif(isset($_GET['path']) && $_GET['path'])
	{
	$path = explode(SEPARATOR, $_GET['path']);
	}
	$items = menu_r($path);
	drawitems($items);
}

/* Recursiv */
function drawitems($items, $depth=0) {
   $i = 0;
	$class = "";
	$cc1 = " class=\"cc1\"";
	$cc2 = " class=\"cc2\"";
   foreach( $items as $id => $item ) {
   	$i = ++$i;

	  $path = $item['path'].SEPARATOR.$id;
	  $value = $item['value'];
	  $link = $item['link'];

	  if(isset($item['items']))
	  {
		echo "<li><a href=\"".$_SERVER['PHP_SELF']."?id=$id\">$value <b>&#187;</b></a><ul>";
		 drawitems($item['items'], $depth+1);
		 echo "</ul></li>";
	  }
	  else
	  {
		echo "<li><a href='$link'>$value</a></li>";
	  }
   }
}
echo "<ul id='submenulist'>";
showmenu();
echo "</ul>";
?>

 

och den skriver ut bara huvudmenyn, alltså alla med parent_id=0 och om jag testar klicka på en menyknapp som ska innehålla underkategori så vill inte ens den öppnas då.

 

Länk till kommentar
Dela på andra webbplatser

Ah, jag missförstod dig lite alltså. Du vill bara visa föräldermenyn,

inga "kusin-menyer". Ska dock syskon-menyer visas?

 

Det är dock konstigt att du inte får det att fungera åtminstone som

på min dator. Det öppnas alltså inte ens några menyer när man

klickar på dem.. det var märkligt.

 

Har försökt få till det så att bara föräldermenyn visas, men det går

bara inte tyvärr. Lyckas inte riktigt förstå hur koden är uppbyggd,

men det borde inte vara omöjligt att lösa.

 

Hoppas nån annan kan hjälpa till

 

mvh Simon

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Jag kan försöka förklara vad jag menar med hjälp av ditt sätt att visa det på. Jag börjar med att visa hur hela denna exempel-meny ser ut med alla menyer och undermenyer helt öppna:

 

--- 1

------ 3

---------- 7

-------------- 12

---------- 8

------ 4

------ 9

---------- 10

---------- 11

--- 2

------ 5

------ 6

 

Då ska jag förklara hur jag vill ha det nu. När du kommer in på hemsidan så visas följande som huvudmeny:

 

--- 1

--- 2

 

Om du klickar på första alternativet som då har id 1 så visas följande på andra sidan content-boxen i en undermeny:

 

------ 3

------ 4

------ 9

 

Ovanstående är alltså undermeny till id 1. Men id 1 finns inte med i denna meny utan syns på andra sidan content-boxen i huvudmenyn.

 

Om du i denna undermeny till id 1 klickar på första alternativet som då är id 3 så visas följande:

 

------ 3

---------- 7

---------- 8

------ 4

------ 9

 

Nu hoppas jag du förstår principen. Vill tydliggöra en sak bara. Att om du via webbläsaren går in på t ex. adressen minhemsida.se/sida.php?id=3 så visas följande:

 

------ 3

---------- 7

---------- 8

------ 4

------ 9

 

och går du in på minhemsida.se/sida.php?id=7 så visas följande:

 

------ 3

---------- 7

-------------- 12

---------- 8

------ 4

------ 9

 

Hoppas det blev klarare nu! och att jag använt denna visnings-modell på rätt sätt.

 

Frågan återstår då hur jag ska lyckas åstakomma detta med dom scripten jag visade längre upp i tråden.

 

Länk till kommentar
Dela på andra webbplatser

Hej, tack för förklaringen.

Hmm, så huvudnivån (id 1 och id 2) ska alltså

aldrig visas i undermenyn, bara i huvudmenyn.

 

Ska se om jag får lite tid ikväll så försöker jag

lösa det igen, annars om jag har lite tid imorrn.

 

mvh Simon

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund
Hmm, så huvudnivån (id 1 och id 2) ska alltså

aldrig visas i undermenyn, bara i huvudmenyn.

 

Precis, du har förstått rätt nu :)

Tack det vore jättesnällt!

 

Länk till kommentar
Dela på andra webbplatser

Hej, nu har jag lyckats få det att fungera

efter en hel del knåpande. Så här ser min

showMenu funktion ut. Det är bara den jag

ändrat i. Hoppas den fungerar på din dator

också.

 

function showmenu() {
   $path = array(0);

   // om ?id= är satt
   if ( isset( $_GET['id'] )) {
     $reverse_path = array(0);
     $id = $_GET['id'];

     // skapa omvänd sökväg
     $i=0;
	 $reverse_path[$i++]=$id;
     while (TRUE) {
       $table = mysql_query("SELECT * FROM contents WHERE id=$id");
       if (mysql_num_rows($table)==0) break;
       $row = mysql_fetch_array($table);
       $id = $row['parent_id'];
       $reverse_path[$i++]=$id;
     }

     // omvänd sökvägen
     for ($i=0;$i<count($reverse_path)-1;$i++) {
       $path[$i]=$reverse_path[count($reverse_path)-1-$i-1];
     }

     // öppna undermeny till valt id genom att lägga till barn till sökväg
	 $table = mysql_query("SELECT * FROM contents WHERE parent_id=".$_GET['id']);
	 if (mysql_num_rows($table)!=0) {
	   $row=mysql_fetch_array($table);
	   $path[count($path)]=$row['id'];
     }

   }

   else if( isset( $_GET['path'] ) && $_GET['path'] ) {
	  $path = explode( SEPARATOR, $_GET['path'] );
   }
   $items = menu_r( $path );
   print_r($path);
   echo "<br>";
   drawitems( $items );
}

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Hmm hmm hmm, någonting blir fel... (förutom att en array skrivs ut med printf men den förstog jag själv att det bara var att ta bort). Men när jag klickar i huvudmenyn då öppnas inte bara undermenyn, utan även undermenyn till första länken i undermenyn. Och om jag sedan klickar på en...förresten, bäst att jag visar med modellen istället, här är alltså hela exempel-menyn igen:

 

--- 1

------ 3

---------- 7

-------------- 12

---------- 8

------ 4

------ 9

---------- 10

---------- 11

--- 2

------ 5

------ 6

 

Så, när du i huvudmenyn till vänster klickar på id 1 så visas följande undermeny till höger:

 

------ 3

---------- 7

---------- 8

------ 4

------ 9

 

och jag vill att det ska vara såhär istället:

 

------ 3

------ 4

------ 9

 

Jag testade också att försöka komma in i id 7's undermeny men då hände ingenting alls.

 

[inlägget ändrat 2008-02-21 17:09:19 av Peter Westerlund]

Länk till kommentar
Dela på andra webbplatser

Det var som attans.. ja den öppnar upp en undermeny

för mycket. Nu kommenterade jag bort det. Jag hade lite

dåliga testmenyer så jag såg inte det, men nu ser det ut

att fungera.

 

function showmenu() {
   $path = array(0);

   // om ?id= är satt
   if ( isset( $_GET['id'] )) {
     $reverse_path = array(0);
     $id = $_GET['id'];

     // skapa omvänd sökväg
     $i=0;
	 $reverse_path[$i++]=$id;
     while (TRUE) {
       $table = mysql_query("SELECT * FROM contents WHERE id=$id");
       if (mysql_num_rows($table)==0) break;
       $row = mysql_fetch_array($table);
       $id = $row['parent_id'];
       $reverse_path[$i++]=$id;
     }

     // omvänd sökvägen
     for ($i=0;$i<count($reverse_path)-1;$i++) {
       $path[$i]=$reverse_path[count($reverse_path)-1-$i-1];
     }

     // öppna undermeny till valt id genom att lägga till barn till sökväg
	 //$table = mysql_query("SELECT * FROM contents WHERE parent_id=".$_GET['id']);
	 //if (mysql_num_rows($table)!=0) {
	 //  $row=mysql_fetch_array($table);
	 //  $path[count($path)]=$row['id'];
     //}

   }

   else if( isset( $_GET['path'] ) && $_GET['path'] ) {
	  $path = explode( SEPARATOR, $_GET['path'] );
   }
   $items = menu_r( $path );
   //print_r($path);
   //echo "<br>";
   drawitems( $items );
}

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Nu är vi nära :) När jag klickar på en länk i huvudmenyn så kommer undermenyn upp som den ska, och när jag klickar på en länk i undermenyn så kommer undermenyn till den upp som den ska. Men sen är det tyvärr stopp. När jag försöker komma ännu längre ner i ännu en undermeny så händer inget istället. Fungerar det för dig eller?

 

Länk till kommentar
Dela på andra webbplatser

Hej, hmm, jag testade att lägga till ytterliga nivåer på min meny och det verkar funka okej. Men det kan ju ändå vara nåt specialfall som min lösning missar.

 

Jag bifogar all kod som jag har, samt en bild som visar min databas och hur menyn ser ut i webbläsaren efter att användaren klickat på meny 1, och sedan klickat sig ner flera nivåer.

 

<?
define( "SEPARATOR", "/" );

include "setupdb.php";

function menu_r( $emitter=array(0), $collector=array() ) {
  $items = array();

  /* Basfall - har vi nått botten på path'en? */
  if( ($parent_id=array_shift( $emitter ))!==null ) {
     $collector[] = $parent_id;
     $sql = "SELECT * FROM contents WHERE parent_id='$parent_id' ORDER BY sort";
     $result = mysql_query( $sql );

     while ( $row = mysql_fetch_assoc($result) ) {
        $item = array();
        $id = $row['id'];
	 $item['parent_id'] = $row['parent_id'];
	 $item['sort'] = $row['sort'];
        $item['value'] = $row['name'];
        $item['link'] = $row['link'];
        $item['path'] = implode( SEPARATOR, $collector );  // vägen hit

	 $item['hide'] = $row['hide'];

      /* Finns det undermenyer? (oeffektiv fulkod) */
        if( sizeof( menu_r(array($id) ) )>0 ) {
           $item['items'] = array();  // sätts om det finns undermenyer
           if( sizeof($emitter)>0 && $id==$emitter[0] ) {
              /* traversa undermenyerna om denna nod är nästa i $emitter */
              $item['items'] = menu_r( $emitter, $collector );
           }
        }

        $items[$id] = $item;
     }
  }

  return $items;
}
?>

 

 

<?
include "menu_r.php";

/*
* Bara för lite snyggare output än print_r()
*
* Man kanske vill använda templates (Smarty, etc) till detta istället
*/
function showmenu() {
   $path = array(0);

   // om ?id= är satt
   if ( isset( $_GET['id'] )) {
     $reverse_path = array(0);
     $id = $_GET['id'];

     // skapa omvänd sökväg
     $i=0;
	 $reverse_path[$i++]=$id;
     while (TRUE) {
       $table = mysql_query("SELECT * FROM contents WHERE id=$id");
       if (mysql_num_rows($table)==0) break;
       $row = mysql_fetch_array($table);
       $id = $row['parent_id'];
       $reverse_path[$i++]=$id;
     }

     // omvänd sökvägen
     for ($i=0;$i<count($reverse_path)-1;$i++) {
       $path[$i]=$reverse_path[count($reverse_path)-1-$i-1];
     }

     // öppna undermeny till valt id genom att lägga till barn till sökväg
	 //$table = mysql_query("SELECT * FROM contents WHERE parent_id=".$_GET['id']);
	 //if (mysql_num_rows($table)!=0) {
	 //  $row=mysql_fetch_array($table);
	 //  $path[count($path)]=$row['id'];
     //}

   }

   else if( isset( $_GET['path'] ) && $_GET['path'] ) {
	  $path = explode( SEPARATOR, $_GET['path'] );
   }
   $items = menu_r( $path );
   //print_r($path);
   //echo "<br>";
   drawitems( $items );
}

/* Recursiv */
function drawitems( $items, $depth=0 ) {
   $i = 0;
   foreach( $items as $id => $item ) {
   $i = ++$i;
	  $path = $item['path'].SEPARATOR.$id;
	  $value = $item['value'];
	  $link = $item['link'];
	  if( isset( $item['items'] ) ) {
		echo "<a style=\"padding-left:".(15*$depth)."px;\" href=\"".$_SERVER['PHP_SELF']."?path=$path\">$value</a> <b>»</b><br>";
		 drawitems( $item['items'], $depth+1 );
	  }
	  else
	  {
		echo "<span style=\"padding-left:".(15*$depth)."px;\">$value</span><br>";
	  }
   }
}
showmenu();
?>

 

 

 

[bild bifogad 2008-02-22 17:27:52 av zzzimon]

1032841_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Aah funkar ju, ser att det var jag som tänkte fel innan när jag testade min egna. Funkar ju bra med din kod faktiskt. Tack så mycket! :)

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Jag undrar en sak till. Går det att göra en variant där alla undermenyer är öppna? Ska användas till en select-meny. Vill alltså visa HELA menyherarkin. All open

 

Länk till kommentar
Dela på andra webbplatser

Hej, det borde gå, typ så att om man anger

minsida.php?allopen=true så ska den generera

alla menyer öppna.

 

Man får nog göra en ny kopia av menu_r som man

kan döpa till menu_all och ändra i den; göra någon

form av djupet-först sökning genom hela trädet,

och skriva ut alla noder man stöter på.

 

Jag kan försöka ta en titt på det i kväll, eller imorgon.

 

mvh Simon

 

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Ja, jag tänkte också att det skulle behövas så jag gjorde en kopia och har prövat lite allt möjligt. Inte lyckats så bra än, men jag ska fortsätta kika och det vore jättesnällt om du ville hjälpa igen, det uppskattas verkligen :)

 

Länk till kommentar
Dela på andra webbplatser

Hej, jag tror jag har lyckats fixa det. Verkar funka på

min dator i alla fall.

 

I menu_r skapade jag en ny funktion menu_all:

function menu_all( $parent_id, $collector=array() ) {
  $items = array();

     $collector[] = $parent_id;
     $sql = "SELECT * FROM contents WHERE parent_id=''$parent_id'' ORDER BY sort";
     $result = mysql_query( $sql );

     while ( $row = mysql_fetch_assoc($result) ) {
        $item = array();
        $id = $row[''id''];
	 $item[''parent_id''] = $row[''parent_id''];
	 $item[''sort''] = $row[''sort''];
        $item[''value''] = $row[''name''];
        $item[''link''] = $row[''link''];
        $item[''path''] = implode( SEPARATOR, $collector );  // vägen hit

	 $item[''hide''] = $row[''hide''];

      /* Finns det undermenyer? (oeffektiv fulkod) */
        if( sizeof( menu_r(array($id) ) )>0 ) {
           $item[''items''] = array();  // sätts om det finns undermenyer
           $item[''items''] = menu_all( $id, $collector );
        }

        $items[$id] = $item;
     }

  return $items;
}
?>


Sedan så uppdatera jag slutet av show_menu till följande:

[b]$items = menu_r( $path );[/b]

   }

   else if( isset( $_GET[''path''] ) && $_GET[''path''] ) {
	  $path = explode( SEPARATOR, $_GET[''path''] );
	 [b] $items = menu_r( $path );[/b]
   }
   [b]else if( isset( $_GET[''all''] )) {
		 $items = menu_all(0);
          }[/b]	   
                  //print_r($path);
   //echo "<br>";
                  [b]// tog bort $items = ...[/b]
   drawitems( $items );
}

Den förutsätter att rot-id är 0.

Hoppas den funkar

 

KOD-taggar inlagt av moderator

 

 

 

[inlägget ändrat 2008-02-25 17:18:31 av Maratonmannen]

Länk till kommentar
Dela på andra webbplatser

Peter Westerlund

Jaaa verkar funka =)

 

haha nu undrar jag en till grej :P som jag sa så ska jag ha denna öppna till en select-meny, så det kommer ungefär se ut precis sådär som vi ritade upp när vi visa våra menystrukturer tidigare.

 

Så jag tänkte att detta borde funka:

 

/* Recursiv */

function drawitems($items, $depth=0)

{

$i = 0;

if (count($items))

{

foreach($items as $id => $item)

{

$i = ++$i;

$path = $item['path'].SEPARATOR.$id;

$value = $item['value'];

$link = $item['link'];

for ($i=4*$depth; $i>=1; $i--)

{

$depthmargin .= '-&nbsp;';

}

if(isset($item['items']))

{

echo '<option value="'.$id.'"';

if ($rForm['parent_id'] == $id)

{

echo ' selected';

}

echo '>'.$depthmargin.$value.'</option>';

 

drawitems($item['items'],$depth+1);

}

else

{

echo '<option value="'.$id.'"';

if ($rForm['parent_id'] == $id)

{

echo ' selected';

}

echo '>'.$depthmargin.$value.'</option>';

}

}

}

}

showmenu();

 

 

 

men den skriver ut helt fel. Du får gärna testa och se så ser du vad jag menar :P

 

Länk till kommentar
Dela på andra webbplatser

Hej, ja det blev lite fel där. Jag tror jag ser

buggen nu..

 

Flytta denna före foreach satsen. Annars

ökar depthmargin på för varje syskonmeny

 

for ($i=4*$depth; $i>=1; $i--)

{

$depthmargin .= '-&nbsp;';

}

 

verkar funka nu..sjyst

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...