Mini Prob

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

  • Mini Prob

    Nabend

    Kleines Prob:

    Folgender Code:

    PHP-Code:
    $nr 0;
    while(
    schleife) { $nr++; } 
    Funzt wunderbar, er erstellt dann das gewünschte. Nun das Prob: Ich möchte das wenn $nr = 1; (also 1. Platz) $nr so aussieht: $nr = "<font color="red">1</font>";

    Ansatz:

    PHP-Code:
    $nr 0;
    while(
    schleife) { $nr++; }
    if(
    $nr == 1) { $nr "<font color="red">1</font>";  } 
    Leider funzt das nicht

    Weiß jemand, woran das liegen könnte?

    Schönen Abend noch...

    DuRoX

  • #2
    PHP-Code:
    <?
    $nr = 0;
    while(schleife) 
       {
            $nr++;
       }
    if($nr=="1") 
       {
            $nr = "<font color=\"red\">1</font>"; 
       }
    ?>
    vielleicht so
    Mit freundlichen Grüßen
    Werner

    Kommentar


    • #3
      lol, ne dann ist das ganze ja außerhalb der WHILE Schleife, du must dir vorstellen:

      Man holt geniert mit WHILE ne Liste und will das die erste Zahl von $nr anders ist als die anderen. Die anderen aber weiterhin normal *logisch*

      Irgendwie muss man das in die Schleife bauen, aber das funzt bei mir leider nicht

      cYa DuRoX

      Kommentar


      • #4
        *g*


        PHP-Code:

        <?
        $nr = 0;
        while(schleife) 
           {
                if($nr=="1") 
                   {
                echo "<font color=\"red\">$nr</font>"; 
                   }
                $nr++;
           }

        ?>
        Mit freundlichen Grüßen
        Werner

        Kommentar


        • #5
          Dann ist der erste Eintrag (1) NORMAL und alle anderen unnormal + ALLE haben die Zahl 1. Das ist eine Verschlimmerung

          Kommentar


          • #6
            wo gibts du denn die anderen Werte aus?
            PHP-Code:
            <?
            $nr = 0;
            while(schleife) 
               {
                    if($nr=="1") 
                      echo "<font color=\"red\">".$nr."</font>"; 
                    else
                      echo $nr;
                    $nr++;
               }

            ?>
            0[COLOR=red]1[/COLOR]23456789
            hopka.net!

            Kommentar


            • #7
              du solltest Vor allem die Schleife irgenwann mal beenden


              PHP-Code:

              <?
              $nr = 0;
              while(schleife)
                 {
                      if($nr=="1")
                         {
                      echo "<font color=\"red\">$nr</font>";
                         }
                      else
                         {
                      echo "$nr";
                         }
                      $nr++;

                      if($nr=="10")
                          { exit; }
                 }

              ?>
              Mit freundlichen Grüßen
              Werner

              Kommentar


              • #8
                schleifen beenden tut man normalerweise, indem man die Laufbedingung negiert. ansonsten verwendet man break und nicht exit !

                Außerdem kann man wohl davon ausgehen, dass "schleife" schon dafür sorgt, dass das ganze nicht ewig durchläuft.

                Ich denke mal, dass der ursprüngliche Fehler in der Ausgabe der anderen Werte liegt.
                hopka.net!

                Kommentar


                • #9
                  Kann ich nicht beenden, da ich nicht weiß wann sie zuende sein soll. Hier der echte Code:

                  PHP-Code:
                  $check_special mysql_query("SELECT * FROM abc WHERE validate = '0' ORDER BY hits DESC");
                  $nr 0;
                  while(
                  $res_special mysql_fetch_array($check_special)){
                  if(
                  $nr=="1")
                     {
                          
                  $nr "<font color=\"red\">$nr</font>";
                     }
                  $nr++;
                  echo 
                  $nr;

                  Gibt es da echt keine Möglichkeit?

                  cYa DuRoX

                  EDIT:
                  BTW: Wie soll denn $nr =1 werden, wenn der Counter $nr++ NACH der IF Abfrage kommt? Da $nr = 0 deklariert ist, erreicht $nr nie 1 VOR dem Counter, oder sehe ich da was falsch?

                  Kommentar


                  • #10
                    ja, siehst du

                    PHP-Code:
                    if($condition == TRUE) {
                    php-code;
                    php-Code;
                    }
                    echo 
                    "blablabla"
                    es wird, wenn die IF-Bedingung erfüllt ist, nur das ausgeführt, was zwischen den { } steht.

                    Die Schleife hört automatisch wieder auf, dafür sorgt das mysql_fetch_array schon.
                    Teste es einfach mal so, müsste doch eigentlich klappen.
                    hopka.net!

                    Kommentar


                    • #11
                      Sorry, aber deine Erklärung ist irgendwie unverständlich. Es ist logisch, dass das mysql_fetch_array von alleine die Schleife beendet, wenn es keine Datensätze mehr gibt die zur Query passen. Trotzdem weiß ich nicht, wie der Schleife eine IF Anweisung verpassen kann, dass sie den ersten Datensatz "anders" behandelt, als die anderen

                      Wäre sehr freundlich wenn du das mal beispielhaft aufzeigen könntest

                      cYa DuRoX

                      Kommentar


                      • #12
                        Hi,
                        dein Denkfehler ist, dass wenn $nr 1 ist $nr anders definiert wird!
                        Also gleich nach dem ersten mal ist $nr keine Zahl mehr.
                        Und außerdem müsste für den ersten Datensatz doch geprüft werden ob $nr 0 ist oder?
                        Sonst wird ja immer nur der zweite rot markiert.

                        PHP-Code:
                        $check_special mysql_query("SELECT * FROM abc WHERE validate = '0' ORDER BY hits DESC");

                        $nr 0;
                        while(
                        $res_special mysql_fetch_array($check_special)){
                            if(
                        $nr == 0){
                                    echo 
                        "<font color='red'>$nr</font>";
                            }
                            else{
                                    echo 
                        $nr
                            
                        }
                            
                        $nr++;

                        Probier mal das aus
                        Zuletzt geändert von GWC; 20.06.2003, 01:29.

                        Kommentar


                        • #13
                          Vielen Dank für deine Antwort GWC!

                          Deine Lösung funktioniert auch schon (fast):

                          Die erste Zahl (0) wird ROT ausgegeben, während alle anderen korrekt normal und richtig gezählt ausgegeben werden. Nur das einzige Prob: Der Counter soll bei 1 anfangen. Soll ich jetzt $nr = 0; in $nr = 1; umändern, oder funzt das ganze dann nicht mehr?

                          cYa DuRoX

                          EDIT:
                          Meine Dummheit: Habe die IF Schleife nun auf 1 geändert und es FUNZT! *freu*!

                          An dieser Stelle möchte ich mich besonders bei GWC für seine Hilfe bedanken!

                          Zuletzt geändert von DuRoX; 20.06.2003, 13:50.

                          Kommentar


                          • #14
                            Jap, einfach $nr = 1; machen.
                            Also so:

                            PHP-Code:
                            $check_special mysql_query("SELECT * FROM abc WHERE validate = '0' ORDER BY hits DESC");

                            $nr 1;
                            while(
                            $res_special mysql_fetch_array($check_special)){
                                if(
                            $nr == 1){
                                        echo 
                            "<font color='red'>$nr</font>";
                                }
                                else{
                                        echo 
                            $nr
                                
                            }
                                
                            $nr++;

                            MfG

                            Kommentar


                            • #15
                              *g* SYNC Post

                              Nochmal THX

                              Kommentar

                              Lädt...
                              X