Avatar billede dylfen Nybegynder
26. november 2010 - 01:17 Der er 3 kommentarer og
1 løsning

Menu i 2 lag

Hjæææælp!! ;)

Jeg ved ikke hvor lang tid jeg har forsøgt at lave en function til at lave en menu i 2 lag

Lige for at illustrere hvad jeg mener skal det ende noget alla dette:

<ul>
<li>1 lag link1</li>
<li>1 lag link2
  <li>2 lag link1</li></li>
<li>1 lag link3
  <li>2 lag link2</li>
  <li>2 lag link3</li></li>
</ul>
altså en nested liste

mysql tabel
------------
id
parent_id
title
content
--------- end

parent_id er id af 1 lag / eller 0 hvis ingen parent_id

håber der er nogen der gider hjælpe mig
Avatar billede dylfen Nybegynder
26. november 2010 - 01:19 #1
rettelse: tilføjede nogle </ul> tags

<ul>
<li>1 lag link1</li>
<li>1 lag link2
  <li>2 lag link1</li></ul></li>
<li>1 lag link3
  <li>2 lag link2</li>
  <li>2 lag link3</li></ul></li>
</ul>
Avatar billede Slettet bruger
26. november 2010 - 08:51 #2
De "indre" niveauer skal være selvstændige lister (<ul> ... </ul>)
- og de liste elementerne <li> skal ikke afsluttes (skader ikke, men roder)

<html><body>
<ul>
    <li>1 lag link1
    <li>1 lag link2
    <ul>
        <li>2 lag link1
        <li>2 lag link2
        <ul>
            <li>3 lag link1
            <li>3 lag link2
            <ul>
                <li>4 lag link1
                <li>4 lag link2
            </ul>
            <li>3 lag link 3
            <li>3 lag link 4
        </ul>
    </ul>
    <li>1 lag link3
    <ul>
        <li>2 lag link2
        <li>2 lag link3
    </ul>
</ul>
</body></html>
26. november 2010 - 09:54 #3
Det er nogen tid siden jeg har vaeret i kast med dette, saa for at vaere sikker paa hvad jeg siger lavede jeg en mini-hjemmeside med tilhoerende tabel. 

Mens jeg arbejdede med det har et andet medlem oprettet et svar.  Fordi jeg har forstaaet at spoergsmaalet gaar videre end opstillingen af html elementerne og ogsaa inbefattede php funktionerne bringer jeg min loesning alligevel.

Jeg lavede en tabel dyvel med kolonnerne id, parent_id, og titel.  Saa soeger jeg foerst for id'er i tabellen hvor parent_id er NULL og skriver disse ud med en php while loekke.  Inde i denne loekke soeger jeg for hvert id for raekker i tabellen der har den id som parent_id og skriver disse ud i en anden loekke.  Kaernen af koden er vist nedenfor.  Du kan kikke paa resultatet i dette link:  http://christianjorgensen.be/dylfen.php

$link = mysql_connect ('xxx', 'yyy', 'zzz') or die(mysql_error());
mysql_select_db('qqq') or die('Could not select database');
$parents = mysql_query("SELECT id FROM dylfen WHERE parent_id IS NULL")or die(mysql_error());
echo "<ul>";
while($row=mysql_fetch_array($parents))
{
  $parent = $row['id'];
  echo "<li>$parent";
  $children = mysql_query("SELECT id, titel FROM dylfen WHERE parent_id = $parent")or die(mysql_error());
  $number = mysql_num_rows($children);
  if($number > 0)
  {
    echo "<ul>";
    while($row = mysql_fetch_array($children))
    {
      echo "<li>" . $row['id'] . " ' ' " . $row['titel'] . "</li>";
    }
    echo "</ul>";
  }
  echo "</li>";
}
echo "</ul>";
mysql_close($link);
Avatar billede dylfen Nybegynder
26. november 2010 - 15:16 #4
Tak Christian_Belgien

Med små ændringer virker det nu.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester