for-Schleifen

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

  • for-Schleifen

    Hallo,
    ich brauch mal ein oder ein paar Meinungen von euch.
    Der nachfolgende Code ist nicht von mir, sondern aus einem Skript, bei dem ich grad auf Fehlersuche bin.

    Mir geht es dabei um die FOR-Schleifen.
    Wenn ich den Code so richtig verstehe, dann werden, je nachdem wieviel User in den einzelnen Ebenen sind, die inneren FOR-Schleifen zig-mal wiederholt, oder?

    Wenn beispielsweise in Ebene 1 20 User sind, wird die Schleife in von Ebene 2 doch auch 20 mal wiederholt, oder sehe ich das falsch?
    Und das multipliziert sich dann, bis alles abgearbeitet ist, oder?
    Hab ich den Code richtig interpretiert?

    PHP-Code:

    //Ebene1
    $res1 mysql_query"select * from mitglieder where refid = '$id'");
    $num1 mysql_num_rows($res1);
    if (
    $refvergütung1!=0) { $Ebene1 $Ebene1 $num1; }
    for (
    $a=0$a<$num1$a++)
    {
    $referalebene1 mysql_result($res1,$a,"id");
    $referalebene1user mysql_result($res1,$a,"username");
    $referalebene1punkte mysql_result($res1,$a,"punkte");
    $Ebene1refs "$Ebene1refs $referalebene1user(Punkte: $referalebene1punkte)<br>";
    $Punkte1 $Punkte1 $referalebene1punkte;
    //Ebene2
    $res2 mysql_query"select * from mitglieder where refid = '$referalebene1'");
    $num2 mysql_num_rows($res2);
    if (
    $refvergütung2!=0) { $Ebene2 $Ebene2 $num2; }
    for (
    $b=0$b<$num2$b++)
    {
    $referalebene2 mysql_result($res2,$b,"id");
    $referalebene2user mysql_result($res2,$b,"username");
    $referalebene2punkte mysql_result($res2,$b,"punkte");
    $Ebene2refs "$Ebene2refs $referalebene1user -> $referalebene2user(Punkte: $referalebene2punkte)<br>";
    $Punkte2 $Punkte2 $referalebene2punkte;
    //Ebene3
    $res3 mysql_query"select * from mitglieder where refid = '$referalebene2'");
    $num3 mysql_num_rows($res3);
    if (
    $refvergütung3!=0) { $Ebene3 $Ebene3 $num3; }
    for (
    $c=0$c<$num3$c++)
    {
    $referalebene3 mysql_result($res3,$c,"id");
    $referalebene3user mysql_result($res3,$c,"username");
    $referalebene3punkte mysql_result($res3,$c,"punkte");
    $Ebene3refs "$Ebene3refs  $referalebene2user -> $referalebene3user(Punkte: $referalebene3punkte)<br>";
    $Punkte3 $Punkte3 $referalebene3punkte;
    //Ebene4
    $res4 mysql_query"select * from mitglieder where refid = '$referalebene3'");
    $num4 mysql_num_rows($res4);
    if (
    $refvergütung4!=0) { $Ebene4 $Ebene4 $num4; }
    for (
    $d=0$d<$num4$d++)
    {
    $referalebene4 mysql_result($res4,$d,"id");
    $referalebene4user mysql_result($res4,$d,"username");
    $referalebene4punkte mysql_result($res4,$d,"punkte");
    $Ebene4refs "$Ebene4refs $referalebene3user -> $referalebene4user(Punkte: $referalebene4punkte)<br>";
    $Punkte4 $Punkte4 $referalebene4punkte;
    //Ebene5
    $res5 mysql_query"select * from mitglieder where refid = '$referalebene4'");
    $num5 mysql_num_rows($res5);
    if (
    $refvergütung5!=0) { $Ebene5 $Ebene5 $num5; }
    for (
    $e=0$e<$num5$e++)
    {
    $referalebene5 mysql_result($res5,$e,"id");
    $referalebene5punkte mysql_result($res5,$e,"punkte");
    $referalebene5user mysql_result($res5,$e,"username");
    $Ebene5refs "$Ebene5refs $referalebene4user -> $referalebene5user(Punkte: $referalebene5punkte)<br>";
    $Punkte5 $Punkte5 $referalebene5punkte;
    //Ebene6
    $res6 mysql_query"select * from mitglieder where refid = '$referalebene5'");
    $num6 mysql_num_rows($res6);
    if (
    $refvergütung6!=0) { $Ebene6 $Ebene6 $num6; }
    for (
    $f=0$f<$num6$f++)
    {
    $referalebene6 mysql_result($res6,$f,"id");
    $referalebene6punkte mysql_result($res6,$f,"punkte");
    $referalebene6user mysql_result($res6,$f,"username");
    $Ebene6refs "$Ebene6refs $referalebene5user -> $referalebene6user(Punkte: $referalebene6punkte)<br>";
    $Punkte6 $Punkte6 $referalebene6punkte;
    //Ebene7
    $res7 mysql_query"select * from mitglieder where refid = '$referalebene6'");
    $num7 mysql_num_rows($res7);
    if (
    $refvergütung7!=0) { $Ebene7 $Ebene7 $num7; }
    for (
    $g=0$g<$num7$g++)
    {
    $referalebene7 mysql_result($res7,$g,"id");
    $referalebene7punkte mysql_result($res7,$g,"punkte");
    $referalebene7user mysql_result($res7,$g,"username");
    $Ebene7refs "$Ebene7refs $referalebene6user -> $referalebene7user(Punkte: $referalebene7punkte)<br>";
    $Punkte7 $Punkte7 $referalebene7punkte;
    //Ebene8
    $res8 mysql_query"select * from mitglieder where refid = '$referalebene7'");
    $num8 mysql_num_rows($res8);
    if (
    $refvergütung8!=0) { $Ebene8 $Ebene8 $num8; }
    for (
    $h=0$h<$num8$h++)
    {
    $referalebene8 mysql_result($res8,$h,"id");
    $referalebene8punkte mysql_result($res8,$h,"punkte");
    $referalebene8user mysql_result($res8,$h,"username");
    $Ebene8refs "$Ebene8refs $referalebene7user -> $referalebene8user(Punkte: $referalebene8punkte)<br>";
    $Punkte8 $Punkte8 $referalebene8punkte;
    //Ebene9
    $res9 mysql_query"select * from mitglieder where refid = '$referalebene8'");
    $num9 mysql_num_rows($res9);
    if (
    $refvergütung9!=0) { $Ebene9 $Ebene9 $num9; }
    for (
    $i=0$i<$num9$i++)
    {
    $referalebene9 mysql_result($res9,$i,"id");
    $referalebene9punkte mysql_result($res9,$i,"punkte");
    $referalebene9user mysql_result($res9,$i,"username");
    $Ebene9refs "$Ebene9refs $referalebene8user -> $referalebene9user(Punkte: $referalebene9punkte)<br>";
    $Punkte9 $Punkte9 $referalebene9punkte;
    //Ebene10
    $res10 mysql_query"select * from mitglieder where refid = '$referalebene9'");
    $num10 mysql_num_rows($res10);
    if (
    $refvergütung10!=0) { $Ebene10 $Ebene10 $num10; }
    for (
    $j=0$j<$num10$j++)
    {
    $referalebene10 mysql_result($res10,$j,"id");
    $referalebene10punkte mysql_result($res10,$j,"punkte");
    $referalebene10user mysql_result($res10,$j,"username");
    $Ebene10refs "$Ebene10refs $referalebene9user -> $referalebene10user(Punkte: $referalebene10punkte)<br>";
    $Punkte10 $Punkte10 $referalebene10punkte;
    //Ebene11
    $res11 mysql_query"select * from mitglieder where refid = '$referalebene10'");
    $num11 mysql_num_rows($res11);
    if (
    $refvergütung11!=0) { $Ebene11 $Ebene11 $num11; }
    for (
    $k=0$k<$num11$k++)
    {
    $referalebene11 mysql_result($res11,$k,"id");
    $referalebene11punkte mysql_result($res11,$k,"punkte");
    $referalebene11user mysql_result($res11,$k,"username");
    $Ebene11refs "$Ebene11refs $referalebene10user -> $referalebene11user(Punkte: $referalebene11punkte)<br>";
    $Punkte11 $Punkte11 $referalebene11punkte;
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }


  • #2
    richtig, man hätte das aber auch viel kürzer machen können!

    Kommentar


    • #3
      Also wenn in Ebene 1 20 Leute sind, wird Ebene 2 20mal ausgeführt, obwohl es eigentlich nur einmal ausgeführt werden müsste???

      Kommentar


      • #4
        Normalermensch hätte das ganze rekursiv gemacht, wo durch auch locker 20 ebenen möglich sind.

        Tödlich an dem script sind vorallem die ganzen queries... Wenn das Script mal mit 1000 Usern laufen muss: gute nacht

        Am besten programmierst du das vernünftig neu

        Kommentar


        • #5
          Also wenn in Ebene 1 20 Leute sind, wird Ebene 2 20mal ausgeführt,
          Nö!

          Kommentar


          • #6
            Also das Problem ist folgendes:

            Das Skript hat ne Freundin von mir sich gekauft.
            Gestern anchdem sie damit gestartet ist, ist der Server (1&1) mehrmals hintereinander abgesoffen und musste von 1&1 jedesmal resetet werden.

            Die von 1&1 sind der meinung, es müsse irgendwo am Skript liegen, weil kein Hardwarefehler vorhanden wäre.
            Das Skript liegt auf einem Server, auf dem auch noch andere Projekte laufen.
            Als der Server gestern abgeschmiert sind, waren vielleicht jedesmal 50 User Online.

            Wir sind jetzt fieberhaft auf der Suche nach dem Fehler, der den Crash verursacht hat.

            Kommentar


            • #7
              *ROFL* kann man so 'n Sch**ss auch verkaufen

              Arme, arme 1&1.

              Kommentar


              • #8
                Was sag ich: tödlich...

                Da wir deine Freundin ja nicht kennen, darf man erfahren, wieviels gekostet hat?

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  ... darf man erfahren, wieviels gekostet hat?
                  ich halte mich schon mal irgendwo fest

                  Kommentar


                  • #10
                    ich halte mich schon mal irgendwo fest
                    OffTopic:
                    Am besten an nem kühlen Bier

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      OffTopic:
                      Am besten an nem kühlen Bier
                      OffTopic:
                      Nö, nö, weil bei einem ROFL werde ich dann ... nass, und es ist Schade um das Bier, vor allem bei dem Wetter

                      Kommentar


                      • #12
                        Genau wiess ich es nicht, aber ich glaub es waren 89,-

                        Also wenn ihr den Rest vom Skript sehen würdet, würdet ihr mit den Ohren schlackern *ggg*

                        Aber zurück zum Thema:
                        Ist der teil, oder andere Sachen in dem Stil eine mögliche Ursache für den Servercrash?

                        Kommentar


                        • #13
                          Ist der teil, oder andere Sachen in dem Stil eine mögliche Ursache für den Servercrash?
                          Ich würde sagen, dass ist DIE Ursache, siehe mein post über die queries...

                          Kommentar


                          • #14
                            OffTopic:
                            Autsch, da blickt man ja son schon nicht durch, wenn die ganze App so ist, dann gute Nacht... Aber für das Geld schön viele Zeilen Code bekommen ......

                            Kommentar


                            • #15
                              Autsch, da blickt man ja son schon nicht durch, wenn die ganze App so ist, dann gute Nacht... Aber für das Geld schön viele Zeilen Code bekommen ......
                              Wenn man bedenkt, dass der ganze eigentlich nur aus 5 Befehlen oder so besteht, ist das schlimm...

                              Kommentar

                              Lädt...
                              X