Avatar billede Mik2000 Professor
15. maj 2006 - 18:04 Der er 8 kommentarer og
1 løsning

Hjælp udskrift af menu

Hej

Nogle der kan hjælpe her.

Har en menu hvor der er en submenu og en undermenu til denne.
Jeg skal have lavet en liste hvor den skriver den sådan:
sub1
sub2
  sub2_1
  sub2_2
sub3
sub4
  sub4_1
  sub4_2

osv


Min kode skriver den sådan (ovenstående eksempel)
sub1
sub2
  sub2_1
  sub2_2
sub3
sub4
  sub2_1
  sub2_2
  sub4_1
  sub4_2


Min kode er her:
-------------------------------------------------------

<?php
require_once('Connections/db.php');
  $sql = "SELECT * FROM menu WHERE menuSubId = 0 ORDER BY menuOrder";
 
//$sql = "SELECT * FROM menu WHERE menuSubId = 0 ORDER BY menuOrder"; 
$rsMenu = $db->SelectLimit($sql) or die($db->ErrorMsg());

while (!$rsMenu->EOF) {

$arrMain[] = $rsMenu->Fields('menuId');
$rsMenu->MoveNext();
}
?>
<!-- Top Menu Slut -->

<!-- Submenu 1st Level Start -->
<?php
foreach ($arrMain as $menuId) {
?>
<?

  $sql = "SELECT * FROM menu WHERE menuSubId = " . $menuId . " ORDER BY menuOrder";

 
//  $sql = "SELECT * FROM menu WHERE menuSubId = " . $menuId . " ORDER BY menuOrder";
 
  $rsMenu = $db->SelectLimit($sql) or die($db->ErrorMsg());
  while (!$rsMenu->EOF) {
    if ($rsMenu->Fields('menuHasSub') == 1) {
      $arrMenuSub[] = $rsMenu->Fields('menuId');
      ?>
<table width="100%" height="20" border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle"><?php echo $rsMenu->Fields('menuName')?></td>
      </tr>
      </table>
     
     
     
     
      <!-- Submenu 2nd Level Start -->
<?php
foreach ($arrMenuSub as $menuId) {
?>
<?

  $sql2 = "SELECT * FROM menu WHERE menuSubId = " . $menuId . " ORDER BY menuOrder";
//$sql = "SELECT * FROM menu WHERE menuSubId = " . $menuId . " ORDER BY menuOrder";
  $rsMenu = $db->SelectLimit($sql2) or die($db->ErrorMsg());
  $int = 0;
  while (!$rsMenu->EOF) {
      $int = 1;
    ?>
  <table width="100%" height="21" border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle"><?php echo $rsMenu->Fields('menuName')?></td>
  </tr>
  </table>
    <?php
   
  $rsMenu->MoveNext();
  }
?>
<?php
}
?>
      <!-- Submenu 2nd Level end -->
     
     
     
      <?php
    } else {
    ?>
<table width="100%" height="20" border="0" cellpadding="0" cellspacing="0"><tr><td valign="middle"><?php echo $rsMenu->Fields('menuName')?></td>
</tr>
</table>
    <?php
    }
  $rsMenu->MoveNext();
  }
?>
</div>
<?php
}
?>
<!-- Submenu 1st Level Slut -->
<br>
<br>
<br>




</body>
</html>
Avatar billede jakobdo Ekspert
15. maj 2006 - 18:10 #1
Du burde kunne lave det på denne måde:

$query = mysql_query("SELECT * FROM menu WHERE menuSubId = 0 ORDER BY menuOrder");
if(mysql_num_rows($query)>0)
{
echo "MENU<br>";
while($row = mysql_fetch_assoc($query))
{
$query2 = mysql_query("SELECT * FROM menu WHERE menuSubId = $row['menuId'] ORDER BY menuOrder");
if(mysql_num_rows($query2)>0)
{
while($row2 = mysql_fetch_assoc($query2))
{
echo "SUBMENU<br>";
}
}
}
}
Avatar billede Mik2000 Professor
15. maj 2006 - 18:58 #2
Så udskriver den:
MENU
SUBMENU
SUBMENU
SUBMENU
SUBMENU
SUBMENU
SUBMENU
SUBMENU
Avatar billede Mik2000 Professor
15. maj 2006 - 19:57 #3
andre ideer???
Avatar billede jakobdo Ekspert
15. maj 2006 - 21:59 #4
Det forstår jeg altså ikke!
Den skulle printe hovedmenu, undermenuer i den menu, næste hovedmenu, undermenuer i den osv...
Avatar billede jakobdo Ekspert
15. maj 2006 - 21:59 #5
Fang mig lige på msn: jakobdo (at) hotmail {dot} com
Avatar billede Mik2000 Professor
19. maj 2006 - 03:17 #6
Kan ikke fange dig desværre :(
Avatar billede jakobdo Ekspert
19. maj 2006 - 08:24 #7
Du har da ikke prøvet synes jeg?
Avatar billede Mik2000 Professor
19. maj 2006 - 14:10 #8
Hej
Jo samme dag skrev jeg. Men da det hastede lidt så lavede jeg en anden løsning. Men ellers mange tak.
Avatar billede jakobdo Ekspert
19. maj 2006 - 15:15 #9
Det er okay.
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