Augabe kürzer schreiben

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

  • Augabe kürzer schreiben

    hallo,
    ich möchte gerne wissen wie ich diese Abfrage kürzer schreiben kann. Danke

    PHP-Code:
    if ($rate 0)
            {
                
    $brate sprintf ("%.2f", ($rating $rate));//
                
                
                
    if($brate >= 0.5 || $brate 1)
                {
                
    $arate "<img src=\"Bilder/sterne/05.jpg\">";
                }
                elseif(
    $brate >= || $brate 1.5)
                {
                
    $arate "<img src=\"Bilder/sterne/10.jpg\">";
                }
                elseif(
    $brate >= 1.5 || $brate 2)
                {
                
    $arate "<img src=\"Bilder/sterne/15.jpg\">";
                }
                elseif(
    $brate >= || $brate 2.5)
                {
                
    $arate "<img src=\"Bilder/sterne/20.jpg\">";
                }
                elseif(
    $brate >= 2.5 || $brate 3)
                {
                
    $arate "<img src=\"Bilder/sterne/25.jpg\">";
                }
                elseif(
    $brate >= 2.5 || $brate 3)
                {
                
    $arate "<img src=\"Bilder/sterne/25.jpg\">";
                }
                
                
            }
            else
            {
                
    $arate "<img src=\"Bilder/sterne/none.jpg\">";
            } 
    es geht um bewertung sterne, leider bekomme ich das nur hin wenn ich den Code 3,5 meter langschreibe

    Er soll für jeden bereich 0.5 bis 1 punkt (bild1), 1 bis 1.5 (bild2) usw usw anzeigen geht bis 10.0


    danke

  • #2
    schau dir mal im manual die switch.. case Anweisung an, die wirst du sicherlich interessant finden.

    Beispiel:

    PHP-Code:
    switch($variable){

              case: 
    '1':
                     
    //MACHEETWAS
              
    break;
              case  
    '2':
                     
    //MACHEETWASANDERES
              
    break;
      
              default:
                     
    //MACHEETWASGANZANDERES
              


    Viele Grüsse

    David
    Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

    Kommentar


    • #3
      LOL

      du weisst aber, dass egal welchen Wert $brate hat, der Zweig:
      if($brate >= 0.5 || $brate < 1)
      auf jeden Fall ausgeführt wird, alles andere nicht.

      Kommentar


      • #4
        @ Yooda

        danke aberder wert kann ja zwischen 0.1 und 1.0 liegen,

        @asp2php
        ich dachte das er wenn der wert grösser gleich 0.5 oder kleiner als 1 ist dann den ersten ausführt und wenn nichts zutrifft dann den nächsten elseif eintrag nimmt, (hier ist nicht der ganze code hab nach
        (elseif($brate >= 2.5 || $brate < 3)) aufgehört den code zu schreiben

        Wie müsste es denn lauten?



        danke

        Kommentar


        • #5
          denk mal scharf nach

          Kommentar


          • #6
            okok jetzt wo du es sagt müsste es und heissen und nicht oder

            edit/ aber leider ändert das nix an der tatsache das es zu lang ist
            Zuletzt geändert von Silaz; 26.05.2004, 13:10.

            Kommentar


            • #7
              Original geschrieben von Silaz
              okok jetzt wo du es sagt müsste es und heissen und nicht oder

              edit/ aber leider ändert das nix an der tatsache das es zu lang ist
              wenn du ne lineare struktur der eingabe-daten hast, und die ausgabe-daten ebenfalls linear strukturiert sind, was hindert dich daran, nach vorheriger prüfung der eingabe den wert einfach auf den ausgabe-wert zu projezieren? eine zeile code.

              EDIT:
              edited
              Zuletzt geändert von derHund; 26.05.2004, 13:22.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                Verstehe ich nicht ganz was du meinst, der Code ist ja leider auch wech..

                Kommentar


                • #9
                  Original geschrieben von Silaz
                  Verstehe ich nicht ganz was du meinst, der Code ist ja leider auch wech..
                  welcher code?
                  EDIT:
                  ok, quasi-linear


                  schau mal, ... was ergibt
                  PHP-Code:
                  echo floor($rating $rate) * 5
                  in abhängigkeit von verschiedenen eingangswerten?
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    Hi, irgendwie wurde ich miss verstanden, ok hab den Code nun fertig gestellt, wie kann ich die Schreib weise dieses Codes verkürzen, durch schleifen gehts (soweit ich es mir vortsellen kann nicht)

                    Danke

                    PHP-Code:
                    if ($rate 0)
                            {
                                
                    $brate sprintf ("%.2f", ($rating $rate));//
                                
                                
                                
                    if($brate >= 0.5 && $brate 1)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/1.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 1.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/2.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 1.5 && $brate 2)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/3.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 2.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/4.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 2.5 && $brate 3)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/5.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 3.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/6.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 3.5 && $brate 4)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/7.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 4.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/8.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 4.5 && $brate 5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/9.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 5.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/10.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 5.5 && $brate 5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/11.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 5.5 && $brate 6)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/12.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 6.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/13.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 6.5 && $brate 7)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/14.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 7.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/15.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 7.5 && $brate 8)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/16.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 8.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/17.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 8.5 && $brate 9)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/18.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= && $brate 9.5)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/19.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                                elseif(
                    $brate >= 9.5 && $brate 10)
                                {
                                
                    $arate "<img src=\"Bilder/sterne/20.jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";
                                }
                            }
                            else
                            {
                                
                    $arate "<img src=\"Bilder/sterne/0.jpg\" alt=\"Noch keine Bewertungen eingegangen !\">";
                            } 

                    THX

                    nachtrag/ ok switch würde es verkürzen aber trozdem bleibt eine menge an Zeilen ...

                    Kommentar


                    • #11
                      aber trozdem bleibt eine menge an Zeilen ...
                      was hindert dich daran, meine methode anzuwenden?
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        einfach die tatsache das ich die nicht verstehe denke ich...

                        Kommentar


                        • #13
                          Tipp: du multiplizierst die untere und obere Grenze mit 2 dann
                          vergleichst du mal das Ergebnis mit dem Dateinamen deiner
                          jpg-Dateien. Fällt dir was auf? Mach was damit.

                          Kommentar


                          • #14
                            okok danke dir *schäm* hast recht dann brauche ich nur die zahl als bildname angeben

                            $arate = "<img src=\"Bilder/sterne/".$ausgabewert.".jpg\" alt=\"Bewertet mit &Oslash; ".$brate." Punkten\">";


                            ist eine sehr gute idee Danke dir

                            Kommentar


                            • #15
                              ist eine sehr gute idee
                              ehrlich?
                              ist dir mal aufgefallen, daß, wenn du zb. ne id aus ner db holst um sie auszugeben, du auch nicht vorher überprüfst, was die id fürn wert hat, und dann je nach wert ausgibst, sondern das du gleich den wert ausgibst?
                              PHP-Code:
                              if ($id==1)
                                echo 
                              1;
                              elseif (
                              $id == 2)
                                echo 
                              2
                              oder auch
                              PHP-Code:
                              if ($Res == true)
                                return 
                              true;
                              else
                                return 
                              false
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X