OOP Freak gesucht. (Brauche einen input)

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

  • OOP Freak gesucht. (Brauche einen input)

    Hallo Leute,
    Ich muss an einem bestehenden Forum eine Zusatzfunktion einbauen...

    Es soll möglich sein, einen Thread nach titeln zu durchsuchen. D.H.. Es wird jeweils
    nur ein Posting und darunter ein Stammbaum der Titeln des Threads gezeigt.

    Beispiel:
    Code:
     
    Hallo 
    | --Re: Hallo 
    | | 
    | -- Re: Re: Hallo 
    |    |--Re: Hallo  
    |
    | -- Re: Re: Hallo  
    |    |-- Re: Re: Hallo 
    |    |-- usw.
    |        |--Etc.
    die Tabelle schaut folgendermassen aus:
    threadid | forumid | postid | topostid | title | body

    Nun bereitet mir das generieren des Stammbaum heftige Probleme. ich denke da an zwei for schleifen
    aber sehe im Momentüberhaupt nicht durch.

    Hat vielleicht jemand ne Idee, wie ich den Stammbaum generieren könnte oder hat jemand vielleicht gerade ein Skript zur Hand?
    ich bin für jeden Hinweis dankbar.

    Vielen Dank zum voraus.
    Nicht Tatsachen,
    sondern Meinungen über Tatsachen
    bestimmen das Handeln der Menschen.
    (Epiktet (50-138 n.Chr.)

  • #2
    Rekursion mit mehreren Queries:
    Code:
    function rekursion ($thread_id, $post_id=0, $level=0)
    {
      global $baum;
      static $level = 0;
    
      $q = mysql_query ("select * from forum
        where topostid=$post_id and thread_id=$thread_id
        order by postid asc"
      );
      while ($x = mysql_fetch_array($q))
      {
        $x[level] = $level;
        $baum[] = $x;
        rekursion($thread_id, $x[post_id], $level+1);
      }
    }
    
    $baum = array();
    rekursion($thread_id);
    dann kannst du deinen $baum ganz bequem in einer for-Schleife ausgeben.
    Natürlich kannst du das auch direkt in der Funktion machen, aber so fand ich´s spaßiger.
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Nested Sets

      oder mit dem 'Nested Sets' Modell
      (Bäume mit SQL)

      http://develnet.org/tech/tutorials/3.1.html


      php-Entwicklung | ebiz-consult.de
      PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
      die PHP Marktplatz-Software | ebiz-trader.de

      Kommentar


      • #4
        Hallo Leute vielen Dank für eure antworten.

        @ Berni Dien tipp scheint Gold wert zu sein. Ist aber zu heavy für mich.

        ich habs nun volgendermassen gelöst:

        Code:
        function get_tree($aktuell,$tab,$tid) {
            $zwi=mysql_db_query("forum2","select * from posts where topostid='$aktuell' order by postid");
            while ($myid = mysql_fetch_array($zwi)) {
              echo $tab ."<a href=\"thread_baum.php?threadid=$tid&boardid=$boardid&page=$page&id=$myid[postid]\">". $myid[posttopic ]."</a><br>";
              get_tree($myid[postid],$tab."<b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b>");
            } 
          }
        nun funzt eigentlich alles wie ich es möchte, ausser das ich eine fehlermeldung erhalte.
        Warning: Missing argument 3 for get_tree() in d:\apache\htdocs\forum2\thread_baum.php on line 7

        ich rufe die funktion folgendermassen auf:
        get_tree(0,"",$threadid);

        Die variable $threadid existiert! dies habe ich mit echo $threadid; überprüft.
        wö könnte hier der fehler liegen ?!
        Nicht Tatsachen,
        sondern Meinungen über Tatsachen
        bestimmen das Handeln der Menschen.
        (Epiktet (50-138 n.Chr.)

        Kommentar


        • #5
          übrigens:
          wenn ich die funktion anstelle so:
          get_tree(0,"",$threadid);
          folgendermassen aufruffe:
          get_tree(0,"",11);

          kriege ich immer noch die selbe meldung! wo liegt den da mein fehler
          Nicht Tatsachen,
          sondern Meinungen über Tatsachen
          bestimmen das Handeln der Menschen.
          (Epiktet (50-138 n.Chr.)

          Kommentar


          • #6
            ömpf ...

            ist get_tree meine Funktion und Zeile 7 der initialisierende Aufruf? Dann hab ich keine blasse Ahnung, wo der Fehler herkommen kann ... :genauso confused:
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              na ja !
              wird schon irgendwie ein bug meinerseits drinn sein !? aber wo?

              Ich habe das problem mittlerweile umgangen indehm ich die variablen in der fonktion über golbals verfügbar machte.
              Nicht Tatsachen,
              sondern Meinungen über Tatsachen
              bestimmen das Handeln der Menschen.
              (Epiktet (50-138 n.Chr.)

              Kommentar


              • #8
                Hi leute,

                Sorry das ich noch mal stresse.
                ich möchte gerne das der stammbaum grafisch angezeigt wird nicht nur durch einfaches einrücken.

                Beispielsweise so:


                habe nun stundenlang gegoogelt aber leider kein tut gefunden das sich mit den images auseinandersetzt.

                Hatt eventuell einer von euch ein link oder script auch lager?

                Danke
                Nicht Tatsachen,
                sondern Meinungen über Tatsachen
                bestimmen das Handeln der Menschen.
                (Epiktet (50-138 n.Chr.)

                Kommentar


                • #9
                  diese Lösung http://develnet.org/tech/tutorials/3.1.html macht das alles automatisch!
                  versuchs lieber damit!

                  php-Entwicklung | ebiz-consult.de
                  PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                  die PHP Marktplatz-Software | ebiz-trader.de

                  Kommentar


                  • #10
                    @ Bernie

                    Habe bereits gesagt, das Dein Tipp Gold wert scheint.
                    Aber wenn das so ist, ist er auch gold wert!!!

                    Dann werd ich mir das teil mal reinzihen müssen.

                    ich Danke Dir
                    Nicht Tatsachen,
                    sondern Meinungen über Tatsachen
                    bestimmen das Handeln der Menschen.
                    (Epiktet (50-138 n.Chr.)

                    Kommentar


                    • #11
                      @ Bernie

                      Leider kann ich bei diesem tut keine anleitung zum erstellen des baumes finden

                      Einen stammbaum anzeigen, habe ich bereits hingekriegt. Nur schaut das ergebniss folgendermassen aus:
                      Code:
                      A - Das Wurzelposting 
                           B - Reply auf "A" 
                                C - Reply auf "B" 
                                D - 2. Reply auf "B"
                      ich mochte das noch mit diesen linienartigen grafiken verzieren damit die sache übersichtlicher wird. (wie auf dem oben gepostetem image)

                      Giebt es denn hierfür nirgens ein brauchbares tut?

                      Nicht Tatsachen,
                      sondern Meinungen über Tatsachen
                      bestimmen das Handeln der Menschen.
                      (Epiktet (50-138 n.Chr.)

                      Kommentar

                      Lädt...
                      X