rekursive funktion datenbankabfrage

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

  • rekursive funktion datenbankabfrage

    hallo kann mir jemand helfen ich benötige eine rekursive funktion in der aus einer datenbank alle darüberliegenden und alle darunterliegenden einträge ausgelesen werden. Kann mir vielleicht jemand ein beispiel dafür posten da ich im moment wirklich ratlos bin.
    Unix Rulez

  • #2
    z.B. http://aktuell.de.selfhtml.org/artik...asp/php-forum/

    Kommentar


    • #3
      irgendwie bringt mir das nicht sehr viel weiter, hat sonst keiner eine idee?
      Unix Rulez

      Kommentar


      • #4
        dann erkläre mal, was du bei der Rekursion nicht verstehst
        Tipp: Papier und Bleistift nehmen und die Funktionsaufrufe aufzeichnen

        Kommentar


        • #5
          mich würde interessieren wozu du ne rekursive funktion brauchst?
          die db plätten?

          Kommentar


          • #6
            ich kapier schon die rekursive funktion ich hab mal kurz damit angefangen nur irgendwie funktioniert die nicht ganz so wie ich will, überspringt level, und desweiteren soll diese ja die kinder und die eltern rausfinden:

            DB: company = PK
            parent = parent

            PHP-Code:
            function select_parents($id)
            {
               global 
            $DB$parentarray$user$TbCompany;

               
            $sql $DB->query("SELECT company, parent FROM $TbCompany WHERE company = $id");
               
            $rows = @$DB->num_rows($sql);
               if (
            $rows 0)
               {
                  while (
            $parent[$result] = $DB->fetch_array($sql))
                  {
                     if (!
            in_array($parent[$result]["company"], $parentarray))
                     {
                        
            $parentarray[] = $parent[$result]["company"];
                     }
                     
            select_parents($parent[$result]["parent"]);
                  }
               }

            Zuletzt geändert von Blutgraf; 15.11.2004, 09:48.
            Unix Rulez

            Kommentar


            • #7
              ich kenne deine struktur nicht, aber meinst du nicht es wäre
              besser da eine andere vorgehensweise zu wählen?
              wieviel db anfragen kommen denn da zu stande? ist das fürs
              web?

              Kommentar


              • #8
                max. 30-40.

                struktur hab ich doch schon kurz erklärt.
                OK nochmal:

                company = Primary Key mit auto_increment
                parent = company welcher dieser Wert hängt.

                Ja ist für das Web. Ich hab allerdings keinen Schimmer welche andere Vorgehensweise ich denn hier wählen sollte!
                Unix Rulez

                Kommentar


                • #9
                  http://www.php-resource.de/forum/sho...light=menumenu
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Original geschrieben von Blutgraf
                    PHP-Code:
                    function select_parents($id)
                    {
                       ...
                          while (
                    $parent[$result] = $DB->fetch_array($sql))
                       ...

                    $result ist nirgends definiert!

                    willst du denn alles auslesen, oder was willst du?
                    Zuletzt geändert von asp2php; 15.11.2004, 10:31.

                    Kommentar


                    • #11
                      hallo result wird doch in die globale variable $parentarray geschreiben!
                      oder was meinst du?
                      Unix Rulez

                      Kommentar


                      • #12
                        ich weiß nicht, was du mit $parent[$result] bezweckst, selbst wenn du nur $parent = $DB->Fetch... verwendest, ändert sich erstmal nichts in deiner jetzigen Fkt.

                        Was willst du eigentlich aus der DB-Tabelle haben?

                        Kommentar


                        • #13
                          alle ids die eltern des aktuellen knoten sind und alle kinder des knotens. Frage und wie soll ich die funktion umbauen das sie funktioniert. Bin irgendwie ratlos?
                          Unix Rulez

                          Kommentar


                          • #14
                            schau dir das mal an http://www.php-resource.de/forum/sho...threadid=44274 , ist zwar mssql, aber sollte kein Problem sein

                            Kommentar


                            • #15
                              wow 30-40 halte ich für etwas viel
                              ums einfach zu machen ich würde die abfrage aufsplitten,
                              d.h. einmal kinknoten und einmal elternknoten abragen. mit etwas
                              mehr sql know how lässt sich das bestimmt kombinieren.
                              dann würde ich zusehen das die ausgabe ordentlich gecacht
                              wird sonst bekommt deine db herzflimmern.

                              Kommentar

                              Lädt...
                              X