Re: kleine optimierung - übersetzung ;-) - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 19.April.2001, 19:16.
    Re: kleine optimierung - übersetzung ;-)

      gerne ;-) Also pfriemeln wirs mal auf:

      ($_loop % 2?"a0a0a0":"e0e0e0")

      ist ja der Teil um den es geht. Das

      aaa ? bbb : ccc

      ist im Prinzip (fast) wie eine verkürzte if/else anweisung und man könnte es auch so schreiben:

      if($_loop % 2) { out "a0a0a0"; } else { out "e0e0e0"; }
      

      Der Unterschied hier ist, dass Du das nicht einfach als "Ausdruck" in eine Zeile schreiben kannst, weil das eine komplette Anweisung ist, deshalb müsstest Du hier das "out" jeweils dazu machen. So, dann ist der Test

      $_loop % 2
      

      vielleicht noch interessant: $_loop ist die Schleifenvariable vom "loop", d.h. hier steht 0, 1, 2, etc. drin, so wie bei Dir das $i dass Du ja selbst mitzählst...

      "%" ist der "modulo"-Operator, der gibt den Rest einer Division zurück, also bei "23 % 5" wäre das z.B. 3 (4 * 5 = 20, 23 - 20 = 3), bei "$_loop % 2" bekommt man immer 0 (bei geraden Zahlen) oder 1 (bei ungeraden Zahlen) zurück - voila... ;-)


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Claus S. (1671 Beiträge) am Donnerstag, 19.April.2001, 00:12.
    Ausgabe: alternierende zeilenfarben

      hallo sander, wenn du noch da bist.
      möchte bei einer ergebnisliste, dass die hintergrundfarbe zur besseren übersicht abwechselt, z.b. hellgrau - dunkelgrau - hellgrau usw.
      hast du da auf die schnelle eine lösung?
      gruss claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 19.April.2001, 00:31.
    Re: Ausgabe: alternierende zeilenfarben

      <perl>
      $i=0;
      </perl>
      <loop code=perl>
      out "<tr ";
      if ($i=1)
      {
      out "bgcolor=xxxxxx";
      $i=0;
      }else
      {
      out "bgcolor=aaaaaa";
      $i++;
      }
      out "><td>$blabla</td></tr>";
      </loop>
      

      nach else.. steht die Farbe der ungraden Zeilen.

      Sander

     Antworten

    Beitrag von Claus S. (1671 Beiträge) am Donnerstag, 19.April.2001, 00:42.
    Re: Ausgabe: alternierende zeilenfarben

      danke und gute nacht ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 19.April.2001, 01:44.
    Re: Ausgabe: alternierende zeilenfarben - kleine optimierung

      sorry, konnte nicht an mich halten: ;-)

      <table>
      <loop code=perl>
      out "<tr bgcolor=".($_loop % 2?"a0a0a0":"e0e0e0")."><td>$blabla</td></tr>";
      </loop>
      </table>
      

      Die "out"-Zeile ist eine einzige... Das "e0e0e0" kommt zuerst...

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 19.April.2001, 02:20.
    Re: Ausgabe: alternierende zeilenfarben - kleine optimierung

      ich hab das jetzt schon mehrmals gesehen und versucht es nachzuvollziehen - nix.
      Übersetz das mal bitte.
      oder ist das richtig:
      wenn das 2 mal geloopt, wobei ? für "if" steht, schreibe a0a0a0, sonst (der : für else?) e0e0e0 ?

      Sander

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 19.April.2001, 19:16.
    Re: kleine optimierung - übersetzung ;-)

      gerne ;-) Also pfriemeln wirs mal auf:

      ($_loop % 2?"a0a0a0":"e0e0e0")

      ist ja der Teil um den es geht. Das

      aaa ? bbb : ccc

      ist im Prinzip (fast) wie eine verkürzte if/else anweisung und man könnte es auch so schreiben:

      if($_loop % 2) { out "a0a0a0"; } else { out "e0e0e0"; }
      

      Der Unterschied hier ist, dass Du das nicht einfach als "Ausdruck" in eine Zeile schreiben kannst, weil das eine komplette Anweisung ist, deshalb müsstest Du hier das "out" jeweils dazu machen. So, dann ist der Test

      $_loop % 2
      

      vielleicht noch interessant: $_loop ist die Schleifenvariable vom "loop", d.h. hier steht 0, 1, 2, etc. drin, so wie bei Dir das $i dass Du ja selbst mitzählst...

      "%" ist der "modulo"-Operator, der gibt den Rest einer Division zurück, also bei "23 % 5" wäre das z.B. 3 (4 * 5 = 20, 23 - 20 = 3), bei "$_loop % 2" bekommt man immer 0 (bei geraden Zahlen) oder 1 (bei ungeraden Zahlen) zurück - voila... ;-)

     Antworten


     
 Liste der Einträge von 63150 bis 63300:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.12s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!