Auslesen und struckturieren einer Navi

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Auslesen und struckturieren einer Navi

    Hi @ all,

    hänge mal wieder bei meinem letzten Prob und benötige etwas
    Unterstützung.
    In der DB :
    catid | parcat | name
    ----------------------------------
    1 0 Start
    2 1 Impressum
    3 0 Sonstiges
    4 3 Termine

    Mein Code :
    PHP-Code:
    function makebranch($parcat,$table,$level,$maxlevel){
      
    $list=$table[$parcat];
      
    asort($list); 
      while(list(
    $key,$val)=each($list)){
          if (
    $level=="0"){
             
    $output="<img src=se.gif width=12 height=12>";
          }else{
             
    $width=($level+1)*12;
              
    $output="<img src=e.gif width=$width height=12>";
          }
      
    $result.= "$output <a href=show.php?rb=$key>$val</a><br>\n";
      if ((isset(
    $table[$key])) AND (($maxlevel>$level+1) OR ($maxlevel=="0")))
      {
        
    $result.= makebranch($key,$table,$level+1,$maxlevel);
      }
     }
             RETURN 
    $result;

    Auslesen klappt, das Script stellt alles der Reihe nach dar,
    so wie die Levels eingetragen sind.
    Nun versuche ich seit ein paar Tagen, dass mir erst nur die
    Parcat's mit "0" angezeigt werden und auf Klick einer solchen,
    die dazugehörigen Unterpunkte aufgehen.
    Ich vermute ich muß vor Bildung des $result dort noch eine Funktion
    oder was mit "IF" einbauen die mir dies ermöglicht, meine Versuche
    haben aber kein Ergebnis gebracht.

    Wer kann mir dazu Hilfestellung geben und mich auf den Weg bringen ?
    Bin dankbar für jeden konstruktive Tipp.

    Cu @ all
    Zuletzt geändert von Dirk-Kiel; 15.02.2006, 09:42.

  • #2
    Suche nach Rekursion bzw. rekursiv

    Kommentar


    • #3
      Hi,

      mit rekursiv war mir schon klar, darin habe ich micu auch belesen.
      Ich kriegs aber einfach nicht hin.
      Bis dato hatte ich mit rekursiv nix am Hut

      Mein Versuch an dieser Stelle :
      PHP-Code:
      while( $result mysql_fetch_assoc() )
      {
          if( 
      $result['parcat'] == -)
          {
             
      $result.= "$output <a href=show.php?rb=$key>$val</a><br>\n";

              
      $result['parcat'] = '0';
           }

          
      $array$result['parcat'] ][ $r['catid'] ] = $result
           
      $result.= "$output <a href=show.php?rb=$key>$val</a><br>\n";


      oder brauch ich das so gar nicht ?

      Ach ja, das Ergebnis was da rauskommt ist nichts

      cu

      Kommentar


      • #4
        Füge hier einfach eine weitere Bedingung an:
        PHP-Code:
        if ((isset($table[$key])) AND (($maxlevel>$level+1) OR ($maxlevel=="0"))) 
        und übergebe der Funktion die ID des aufgerufenen Links.
        [COLOR=#9C5245]Internet-Explorer[/COLOR] [COLOR=#334D7B]User und stolz drauf! :P[/COLOR]

        Kommentar

        Lädt...
        X