Was heisst das,jetzt schon wieder:

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

  • Was heisst das,jetzt schon wieder:

    Warning: Missing argument 3 for output_threaded() in C:\wampp2036\htdocs\forum0.1\forum\thread-see.php on line 30

    Mein Aufruf sieht so aus:
    PHP-Code:
    output_threaded($post_id00); 
    Und die Function sieht so aus:
    PHP-Code:
    function output_threaded ($pid$parent$level// Zeile 30 
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Da ist sicher noch irgendwo ein anderer Aufruf ...
    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
      Moment hier kommt die ganze Function:
      PHP-Code:
      function output_threaded ($pid$parent$level)
      {
        global 
      $table$font;
        global 
      $t_gif,$l_gif,$p_gif,$m_gif,$c_gif,$i_gif,$n_gif,
          
      $space_gif,$trans_gif;

        
      $sql_id mysql_query ("SELECT * FROM $table
          WHERE id='
      $pid' AND post_parent='$parent'
          ORDER BY post_date asc"
      )or die(mysql_error());
        while (
      $msg mysql_fetch_array($sql_id))
        {
          echo 
      "<tr>
            <td width=\"1%\">
      $font";
          for (
      $i=1$i<$level$i++)
          {
            echo 
      "$trans_gif";
          }
          if (
      $parent != "0")
          {
            
      $count++;
            
      $sql_a "SELECT count(*) FROM $table
              WHERE post_parent='
      $parent'";
            
      $sql_id_a mysql_query($sql_a);
            
      $ein mysql_fetch_row($sql_id_a);
            if (
      $ein[0] == $count)
            {
              echo 
      "$l_gif";
            }
            else
            {
              echo 
      "$t_gif";
            }
          }
          else
          {
            
      $count=0;
          }
          
      $sql_a "SELECT id FROM $table
            WHERE post_parent='
      $msg[thread]'";
          
      $sql_id_a mysql_query($sql_a);
          
      $under mysql_fetch_row($sql_id_a);
          if (
      $under[0])
          {
            echo 
      "$m_gif";
          }
          elseif (!
      $under[0] && $parent==0)
          {
            echo 
      "$n_gif";
          }
          else
          {
            echo 
      "$c_gif";
          }
          echo 
      "</td>
            <td width=\"70%\">
      $font <a href=
              \"show.php?id=
      $msg[id]\">$msg[post_subject]</a></td>
            <td width=\"10%\">
      $font"$msg[post_userid] ."</td>
            <td width=\"19%\">
      $font"$msg[post_date] ."</td>
          </tr>"
      ;
          
      output_threaded ($msg[id], $level+1);
        }

      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        schau mal den letzten Befehl in der Funktion genau an:
        output_threaded ($msg[id], $level+1);
        wieviel Parameter sind das?
        so soll´s wohl aussehen:

        output_threaded ($msg[id], $pid, $level+1);
        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


        • #5
          @Titus

          Das blöde ist nur, ich habe mir das Script hier aus dem Forum rausgesucht. Ich kenne aber nicht seine Datenbank-Struktur, so das ich nur raten kann was wo, durch was nach meiner Datenbank-Struktur ersetzt werden muss.

          Das Ergebnis ist immer nur der erste Forumeintrag mit der post_parent=0

          Die Knotenkinder darunter bekomme ich einfach nicht.

          hier mal kurz ein Paar Vars von mir:
          id => (auto_wert) ID des Posts
          post_thread => Nummer des Posts
          post_parent => Knoten zum Elternteil
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            hmm ... änder erst mal den rekursiven Aufruf.
            Wenn dann noch etwas nicht funktioniert, such bitte nochmal raus, wo du das Ding her hast. Damit können wir uns dann einiges an Tipparbeit & Postings sparen.
            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
              hier das Posting
              http://www.php-resource.de/forum/sho...&threadid=2272

              Es besteht aber nur aus zwei Antworten.

              Bin jetzt schon ein Stück weiter

              hier mal die Posting Struktur
              id ==> post_thread ==> post_parent
              1 ==> 1 ==> 0
              7 ==> 1 ==> 1
              10 ==> 1 ==> 1
              18 ==> 1 ==> 7
              19 ==> 1 ==> 1
              26 ==> 1 ==> 19

              Er zeigt mir immer hin jetzt schon folgende ID`s an:
              1,7,10,19
              Aber weiter bin ich noch nicht gekommen.
              PHP-Code:
              <?php
              function output_threaded ($pid$parent$level)
                  {
                  global 
              $table$font;
                  global 
              $t_gif,$l_gif,$p_gif,$m_gif,$c_gif,$i_gif,$n_gif,$space_gif,$trans_gif;

                  
              $sql_id mysql_query ("SELECT * FROM $table WHERE post_thread='$pid' AND post_parent='$parent' ORDER BY post_date asc")or die(mysql_error());

                  while (
              $msg mysql_fetch_array($sql_id))
                      {
                      echo 
              "<tr>
                              <td width=\"1%\">
              $font";
                      for (
              $i=1$i<$level$i++)
                          {
                          echo 
              "$trans_gif";
                          }
                      if (
              $parent != "0")
                          {
                          
              $count++;
                          
              $sql_a "SELECT count(*) FROM $table WHERE post_thread='$msg[id]'";
                          
              $sql_id_a mysql_query($sql_a);
                          
              $ein mysql_fetch_row($sql_id_a);
                          if (
              $ein[0] == $count)
                              {
                              echo 
              "$l_gif";
                              }
                          else
                              {
                              echo 
              "$t_gif";
                              }
                          }
                      else
                          {
                          
              $count=0;
                          }

                      
              $sql_a "SELECT id FROM $table WHERE post_parent='$msg[post_thread]'";
                      
              $sql_id_a mysql_query($sql_a);
                      
              $under mysql_fetch_row($sql_id_a);
                      if (
              $under[0])
                          {
                          echo 
              "$m_gif";
                          }
                      elseif (!
              $under[0] && $parent==0)
                          {
                          echo 
              "$n_gif";
                          }
                      else
                          {
                          echo 
              "$c_gif";
                          }

                      echo 
              "</td>
                              <td width=\"70%\">
              $font <a href=\"show.php?id=$msg[id]\">$msg[post_subject]</a></td>
                              <td width=\"10%\">
              $font"$msg[post_userid] ."</td>
                              <td width=\"19%\">
              $font"$msg[post_date] ."</td>
                          </tr>"
              ;
                      
              output_threaded ($pid$parent+1$level+1);
                      }
                  }
              output_threaded($post_id00);
              ?>
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                nimm das +1 hinter $parent weg, dann sollte es tun
                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


                • #9
                  Dann bekomme ich eine endloslist nur mit dem Ersten eintrag.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    Nach dem ich den letzten Abschnitt mir noch mal genauer angesehen habe, habe ich hier denkfehler festgestellt.
                    PHP-Code:
                    $sql_a "SELECT id FROM $table WHERE post_parent='$msg[id]'";
                            
                    $sql_id_a mysql_query($sql_a);
                            
                    $under mysql_fetch_row($sql_id_a);
                            if (
                    $under[0])
                                {
                                echo 
                    "$m_gif";
                                }
                            elseif (!
                    $under[0] && $parent==0)
                                {
                                echo 
                    "$n_gif";
                                }
                            else
                                {
                                echo 
                    "$c_gif";
                                }

                            echo 
                    "</td>
                                    <td width=\"70%\" bgcolor=\"#dfdfdf\">
                    $font <a href=\"show.php?id=$msg[id]\">$msg[post_subject]</a></td>
                                    <td width=\"10%\" bgcolor=\"#dfdfdf\">
                    $font"$msg[post_userid] ."</td>
                                    <td width=\"19%\" bgcolor=\"#dfdfdf\">
                    $font"$msg[post_date] ."</td>
                                </tr>"
                    ;
                            
                    output_threaded ($pid,$msg[id], $level+1); 
                    Jetzt spuckt er mir zwar die Baumstruktur aus, aber ich habe noch Grafikfehler in Script.
                    Die Grafik zeigt das Ergebnis an was ich anstrebe.
                    Die Grafik zeigt den Ist-Zustand mit den Fehlern.
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      Hi!
                      Kannst Du auch noch die entsprechenden Grafikelemente, die du einfügst posten?
                      Unter m,n,c kann man sich so schlecht was vorstellen
                      cu tj99de
                      Of all things I've lost
                      I miss my mind the most

                      Kommentar


                      • #12
                        n.gif ist ein Kasten Ohne Inhalt. Steht für Keine Antwort.
                        t.gif ist das T-Stück.
                        m.gif ist ein Kasten mit einem Minuszeichen drin. Steht Für Antworten vorhanden.
                        l.gif ist ein Rechter Winkel. Steht für Keine Weiter Antwort (letzter Konten im Baum)
                        i.gif ist ein gerade Linie. Überbrückt Kindesantworten.
                        c.gif ist ein Minuszeichen. Für die Antworten die weiter weg stehen vom Baum.

                        Verstanden?
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Original geschrieben von Wotan
                          Dann bekomme ich eine endloslist nur mit dem Ersten eintrag.
                          hups ... Denkfehler ... so gehört der Rekursionsaufruf:

                          output_threaded ($pid, $msg[$id], $level+1);
                          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


                          • #14
                            @Titus

                            wenn du das Posting danach gelesen hast, hättest du gelesen das ich das geändert habe. Da ist mir nämlich der Fehler ausgefallen. Aber wie löse ich das mit den gif´s?
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #15
                              Hm...
                              Also irgentwie kann das nicht alles sein, mit diesem Code kannst Du die gezeigte Struktur (die Du schon hast) gar nicht darstellen. Da fehlen nen paar Teile, oder hab ich was nicht gesehen?

                              PHP-Code:
                              if_($under[0])
                              {
                              _____echo_"$m_gif";
                              }
                              elseif_(!$under[0]_&&_$parent==0)
                              {
                              ______echo_"$n_gif";
                              }else
                              {
                              _______echo_"$c_gif";

                              Of all things I've lost
                              I miss my mind the most

                              Kommentar

                              Lädt...
                              X