Wer kann mir das mal erklären?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wer kann mir das mal erklären?

    PHP Code:
            for ($m=0$m<$level-1$m++)
                {
                echo (
    $letztes[$m] ? $space_gif $i_gif);
                }
            if (
    $m<$level) echo ($letztes[$m] ? $l_gif $t_gif);
                   {
                   echo (
    $msg["hatantwort"] ? $m_gif : ($level || $count $c_gif $n_gif));
                   } 
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Da es sich hierbei um keinen Code-Schnippsel von mir handelt, wäre ich ganz froh wenn mir jemand diesen erklären könnte.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Comment


    • #3
      wenn du mich fragst ist das: for ($m=0; $m<$level-1; $m++)
      {
      echo ($letztes[$m] ? $space_gif : $i_gif);
      }
      if ($m<$level) echo ($letztes[$m] ? $l_gif : $t_gif);
      {
      echo ($msg["hatantwort"] ? $m_gif : ($level || $count ? $c_gif : $n_gif));
      }

      ein auszug von nem forum oder gbook. weil das ding nei for schleife hat und bei bestimmten "Dingen" sich ändert. Aber wenn du mich fragst, ist das der letzte Script den der Typ gemacht hat
      Sunshine CMS
      BannerAdManagement
      Borlabs - because we make IT easier
      Formulargenerator [color=red]Neu![/color]
      Herkunftsstatistik [color=red]Neu![/color]

      Comment


      • #4
        Ich denke mal, du weißt was die ganzen, teilweise verschachtelten, "dreifachen konditionalen Operatoren" vom Prinzip her machen!?
        Falls nicht: http://www.php.net/manual/de/language.expressions.php

        Um jetzt genau zu sagen, was der Code-Schnippsel genau macht, müsste man wissen, was die ganzen Variablen ($letztes, $msg, level,...) für eine Funktion/Bedeutung haben.

        Gruß
        Jan

        Comment


        • #5
          ehrlich gesagr, ich weiss es nicht, aber das ist mir egal ich hab meine Funktion mit 200 Zeilen und 30 If Anweisungen, das reicht mir!
          Sunshine CMS
          BannerAdManagement
          Borlabs - because we make IT easier
          Formulargenerator [color=red]Neu![/color]
          Herkunftsstatistik [color=red]Neu![/color]

          Comment


          • #6
            Das ist Teil einer Anzeige für eine Baumstruktur. Nur leider werden mir die falschen gif dargestellt und ich komme nicht darauf wo der Fehler liegt. Wie gesagt weil der Schnippsel nicht von mir ist und ich kein blassen Dunst habe wo ich suchen muss.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Comment


            • #7
              steht die echo-Anweisung wirklich so "alleine" im Programm

              PHP Code:
              if ($m<$level) echo ($letztes[$m] ? $l_gif $t_gif);
              {
                echo (
              $msg["hatantwort"] ? $m_gif : ($level || $count $c_gif $n_gif));


              So hat die if-Abfrage überhaupt keine Auswirkung auf das echo, und das echo wird immer ausgeführt. Warum dann die geschweiften Klammern!?

              Aber das weißt du wahrscheinlich auch nicht, ist ja nicht von dir

              Comment


              • #8
                Weiß nicht, ob dir das hilft, aber der Code-Schnippsel sollte genau das gleiche machen. Vielleicht ist er aber etwas verständlicher.

                PHP Code:
                for ($m=0$m<$level-1$m++)
                {
                    if (
                $letztes[$m])
                    {
                        echo 
                $space_gif;
                    }
                    else
                    {
                        echo 
                $i_gif;
                    }
                }

                if (
                $m<$level)
                {
                    if (
                $letztes[$m])
                    {
                        echo (
                $l_gif);
                    }
                    else
                    {
                        echo (
                $t_gif);
                    }
                }

                if (
                $msg["hatantwort"])
                {
                    echo 
                $m_gif;
                }
                else
                {
                    if (
                $level || $count)
                    {
                        echo 
                $c_gif;
                    }
                    else
                    {
                        echo 
                $n_gif;
                    }

                Comment


                • #9
                  So hab ich es bekommen.
                  wir haben dannach aber noch eine anderung gemacht und die sieht so aus. Bringt aber das selbe Bild in der Baumstruktur aus.
                  PHP Code:
                  if (!$level)
                      echo (
                  $msg["hatantwort"] ? $m_gif $n_gif);
                      else
                      {
                      for (
                  $m=0$m<$level-1$m++)
                      echo (
                  $letztes[$m] ? $space_gif $i_gif);
                      echo (!
                  $letztes[$m] ? $t_gif $l_gif);
                      echo (
                  $msg["hatantwort"] ? $m_gif $c_gif);
                      } 
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Comment


                  • #10
                    Ist das so gewollt, dass nur bei $level=0, 2,3,4.... etwas ausgegeben werden soll und nicht bei $level=1 ?

                    Und das hier...

                    PHP Code:
                    echo ($letztes[$m] ? $space_gif $i_gif);
                    echo (!
                    $letztes[$m] ? $t_gif $l_gif); 
                    ...macht das gleiche wie

                    PHP Code:
                    echo ($letztes[$m] ? $space_gif.$l_gif $i_gif.$t_gif); 
                    Mehr kann ich dir zu den Schnippsel leider auch nicht "helfen".

                    Comment


                    • #11
                      schau dir mal hier das Script an
                      PHP Code:
                      <?php
                      function output_threaded ($pid$parent$level)
                          {
                          global 
                      $table;
                          global 
                      $t_gif,$l_gif,$p_gif,$m_gif,$c_gif,$i_gif,$n_gif,$space_gif;
                          static 
                      $letztes = array();

                          
                      $sql_id mysql_query ("SELECT a.*, count(b.id) AS hatantwort FROM $table AS a LEFT JOIN $table AS b ON b.post_parent=a.id WHERE a.post_thread='$pid' AND a.post_parent='$parent' GROUP BY a.id ORDER BY a.post_date")or die(mysql_error());
                          
                      $n mysql_num_rows($sql_id);
                          for (
                      $count=0$msg mysql_fetch_assoc($sql_id); $count++)
                              {
                              echo 
                      "<tr bgcolor=\"#dfdfdf\">
                              <td>"
                      ;

                      /*        if (!$level)
                                  echo ($msg["hatantwort"] ? $m_gif : $n_gif);
                              else
                                  {
                                  for ($m=0; $m<$level-1; $m++)
                                  echo ($letztes[$m] ? $space_gif : $i_gif);
                                  echo (!$letztes[$m] ? $t_gif : $l_gif);
                                  echo ($msg["hatantwort"] ? $m_gif : $c_gif);
                                  }
                      */

                      /*
                      // Kurzform
                              for ($m=0; $m<$level-1; $m++)
                                  {
                                  echo ($letztes[$m] ? $space_gif : $i_gif);
                                  }
                              if ($m<$level) echo ($letztes[$m] ? $l_gif : $t_gif);
                                     {
                                     echo ($msg["hatantwort"] ? $m_gif : ($level || $count ? $c_gif : $n_gif));
                                     }
                      */

                      // Langform
                              
                      for ($m=0$m<$level-1$m++)
                                  {
                                  if (
                      $letztes[$m])
                                      {
                                      echo 
                      $space_gif;
                                      }
                                  else
                                      {
                                      echo 
                      $i_gif;
                                      }
                                  }

                              if (
                      $m<$level)
                                  {
                                  if (
                      $letztes[$m])
                                      {
                                      echo (
                      $l_gif);
                                      }
                                  else
                                      {
                                      echo (
                      $t_gif);
                                      }
                                  }

                              if (
                      $msg["hatantwort"])
                                  {
                                  echo 
                      $m_gif;
                                  }
                              else
                                  {
                                  if (
                      $level || $count)
                                      {
                                      echo 
                      $c_gif;
                                      }
                                  else
                                      {
                                      echo 
                      $n_gif;
                                      }
                                  }


                              echo 
                      "<font> <a href=\"show.php?id=".$msg[id]."\">".$msg["post_subject"]."</font></a></td>
                              <td><font>"
                      .$msg["post_userid"]."</font></td>
                              <td><font>"
                      .$msg["post_date"]."</font></td>
                              </tr>\n"
                      ;
                              
                      output_threaded ($pid$msg[id], $level+1);
                              }
                          }
                      output_threaded($post_id00);
                      ?>
                      Das ist die ganze Funktion für die Baumstruktur.

                      Wenn du es Testen willst mit dieser Datenbankstruktur.
                      Code:
                      id	thread	parent	gif
                      1	1	0	M
                      7	1	1	TM
                      10	1	1	TC
                      18	1	7	ILC <=geändert
                      19	1	1	LM <=geändert
                      26	1	19	SLC
                      Die Bilder sind im Anhang.
                      Attached Files
                      Last edited by Wotan; 17-08-2002, 00:09.
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Comment


                      • #12
                        hm, wozu ist denn eigentlich $letztes gut??

                        Die Variable wird am Anfang nur einmal initalisiert

                        static $letztes = array();

                        und dann nie mit Werten gefüllt.

                        Und welche genaue Funktion hat die Spalte "gif" in der Datenbankstruktur?

                        Comment


                        • #13
                          Original geschrieben von fusiba
                          hm, wozu ist denn eigentlich $letztes gut??

                          Die Variable wird am Anfang nur einmal initalisiert

                          static $letztes = array();
                          Gute Frage
                          Original geschrieben von fusiba

                          und dann nie mit Werten gefüllt.

                          Und welche genaue Funktion hat die Spalte "gif" in der Datenbankstruktur?
                          Gif soll dir darstellen welches gif wo hin soll. Gehört eigentlich nicht in die Datenbank.
                          EDIT:

                          Dort hat sich ein Feherl eingeschlichen, ich änder das mal. in dem Posting.

                          Last edited by Wotan; 17-08-2002, 00:07.
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Comment


                          • #14
                            so, ich habe dein skript jetzt erstmal bei mir zum laufen bekommen, läuft aber noch nicht richtig denke ich

                            Ich bekomme bei der Ausgabe folgende Icons als Ergebnis

                            ICON ID
                            M 1
                            TM 7
                            ITC 18
                            TC 10
                            TM 19
                            ITC 26

                            Hast du das soweit auch?
                            Und richtig wäre es wenn's jetzt so ist wie in der GIF-Spalte!?

                            Comment


                            • #15
                              genau das gleich wie bei mir. So wie es unter der Spalte gif steht soll es eigentlich werden.
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Comment

                              Working...
                              X